【发布时间】:2019-03-11 21:05:28
【问题描述】:
我正在尝试返回来自数据库调用的对象列表,如下所示:
public class ObjectA
{
public int Id { get; set; }
public string Name { get; set; }
public ObjectB ObjB { get; set; }
}
public class ObjectB
{
public int Id { get; set; }
public string Field { get; set; }
}
在 web api 中调用以从数据库中获取项目
[HttpGet]
public List<ObjectA> GetObjects([FromUri] int id)
{
var objs= objectRepo.All.Where(x => x.Id== id).ToList();
return objs;
}
从 HTTPCLIENT 调用
HttpClient client = new HttpClient(new HttpClientHandler { UseDefaultCredentials = true });
client.BaseAddress = new Uri("http://localhost:2478/api/controller/");
var result= client.GetAsync("GetObjects?id=" + 5);
有没有更好的方法来设置 get 方法?使用 httpclient 检索返回的结果后如何使用?
我不需要将对象 B 作为属于对象 A 的对象,但我确实需要对象 B 的字段。
【问题讨论】:
-
你说的设置get方法是什么意思?
-
@meJustAndrew 我想我的意思是说,返回这样的对象列表可以吗?如果可能的话,是否应该将参数传递到 Uri 而不是从正文中传递。
-
返回
IActionResult(或核心中的ActionResult<T>)有好处;看看这个:stackoverflow.com/a/37998841/1186321 -
我已经回答了您的问题,顺便说一下,您在
ObjectA中缺少ObjectB属性的名称,我将编辑您的问题以添加它。
标签: .net asp.net-mvc httpclient