似乎 HttpGet
方法的返回类型不必是 ActionResult
。例如,以下方法有效:
[HttpGet]
[Route("list")]
public async Task<IEnumerable<MyItem>> List()
但是,在这种情况下,我如何返回 BadRequest (BadRequest("...")
)?
答案 0 :(得分:0)
如果您确实需要在控制器方法中使用 BadRequest
进行响应,您可以使用 Microsoft 推荐的以下方法 here
[HttpGet("list")]
[ProducesResponseType(StatusCodes.Status200OK, Type = typeof(IEnumerable<MyItem>))]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
public async IActionResult List()
{
// Code to validate request
if(requestIsValid)
{
// Code to get IEnumerable of MyItems
return Ok(myItems);
}
else
{
return BadRequest()
}
}