看来HttpGet
方法的返回类型不必是 ActionResult
.例如,以下方法有效:
[HttpGet]
[Route("list")]
public async Task<IEnumerable<MyItem>> List()
但是,在这种情况下,我如何返回 BadRequest ( BadRequest("...")
)?
最佳答案
如果你真的需要回复 BadRequest
在 Controller 方法中,您可以使用 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()
}
}
关于c# - 当返回类型不是 ActionResult 时如何返回 BadRequest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67955500/