API中的数据传输导致500服务器错误

时间:2018-12-19 17:11:52

标签: ajax asp.net-web-api

public APIController()
{
    db = new ApplicationDbContext();
}

ApplicationDbContext db;
[HttpGet]
public List<Category> GetCategories()s
{
    return db.Categories.ToList();
}

我正在尝试从Web API获取类别。我正在使用AJAX,但它提供了500个例外。

1 个答案:

答案 0 :(得分:0)

由于连接字符串正确且所有设置均正确,所以我看到的代码中存在2个可能的问题:

1-您的Api控制器被命名为APIController,这是.NET Api中的保留字

2-您的get服务正在尝试从可能与父对象相关的类别中返回完整的Object,并且父对象与其他相关对象相关,从而导致返回整个数据库。

我建议像这样在lambda中使用select new

[HttpGet]
public List<Category> GetCategories()s
{
    return db.Categories.Select(a => new { a.Name, a.ID, a.Description }).ToList();
}

这样可以避免查询整个数据库。