rac*_*act 2 c# .net-core asp.net-core
我有这段代码,但控制器期望 ActionResult 的返回类型。为什么控制器会像这样接受 Task> return await _context.Users.ToListAsync();(生成控制器时的默认代码)?
//controller
public async Task<ActionResult<IEnumerable<User>>> GetUsers()
{
return await _userService.GetAll();
}
//service method
public async Task<IEnumerable<User>> GetAll()
{
return await _db.Users.ToListAsync();
}
Run Code Online (Sandbox Code Playgroud)
我相信你需要类似的东西:
public async Task<ActionResult<IEnumerable<User>>> MyController()
{
var res = await _userService.GetAll();
if (res == null)
{
return NotFound();
}
return Ok(res);
}
Run Code Online (Sandbox Code Playgroud)
作为旁注,我建议更改IEnumerable<>为IList<>. 在这里返回可枚举并不严格正确,您还可能遇到“多重枚举”问题。
| 归档时间: |
|
| 查看次数: |
7363 次 |
| 最近记录: |