在 asp.net WebAPI 中返回数组对象
Posted
技术标签:
【中文标题】在 asp.net WebAPI 中返回数组对象【英文标题】:Return array object in asp.net WebAPI 【发布时间】:2018-06-11 11:15:00 【问题描述】:我想创建向 Angular 发送输入的 WEB API。我想以 array 的形式发送 JSON 格式的数据。
下面是我的代码:
[HttpGet]
[ActionName("GetEmployeeByID")]
public Employee Get(int id)
Employee emp = null;
while (reader.Read())
emp = new Employee();
emp.ClientId = Convert.ToInt32(reader.GetValue(0));
emp.ClientName = reader.GetValue(1).ToString();
return emp;
实际输出:
"ClientId":15,"ClientName":"Abhinav Singh"
预期输出:
["ClientId":15,"ClientName":"Abhinav Singh"]
【问题讨论】:
您正在返回一个对象。发送员工列表并将该员工添加到列表中。 如果坚持其余原则,实际输出是正确的。如果您按 Id 要求用户,您不会期望得到一个列表作为回报.. 【参考方案1】:您的代码只返回一个元素。使用 List
将其更改为返回集合,如下所示,
public List<Employee> Get(int id)
Employee emp = null;
List<Employee> _employees = new List<Employee>();
while (reader.Read())
emp = new Employee();
emp.ClientId = Convert.ToInt32(reader.GetValue(0));
emp.ClientName = reader.GetValue(1).ToString();
_employees.Add(emp);
return _employees;
【讨论】:
以上是关于在 asp.net WebAPI 中返回数组对象的主要内容,如果未能解决你的问题,请参考以下文章
如何将从webapi返回的自定义对象数组的HttpResponse响应分配给打字稿角度中相同数组类型的对象?
HttpResponseMessage 不返回 ByteArrayContent - ASP.NET Core
对“asp.net core WebApi”的 ajax 调用返回一个奇怪/奇怪的值