【问题标题】:Return array object in asp.net WebAPI在 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 要求用户,您不会期望得到一个列表作为回报..

标签: c# asp.net angularjs asp.net-web-api


【解决方案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;
     }

【讨论】:

    猜你喜欢
    • 2017-07-22
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 2015-11-26
    • 1970-01-01
    相关资源
    最近更新 更多