在ApiController中处理BadRequest时,可以通过检查ModelState的有效性来决定是否返回数据。如果ModelState是无效的,可以直接返回BadRequest结果,而不返回数据。
以下是一个示例解决方案:
[ApiController]
[Route("api/[controller]")]
public class MyController : ControllerBase
{
[HttpPost]
public ActionResult Post(MyModel model)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
// 处理请求逻辑...
return Ok(model);
}
}
在上面的示例中,我们首先检查ModelState是否有效。如果无效,我们直接返回BadRequest结果,并将ModelState作为响应数据返回。
如果ModelState是有效的,我们可以继续处理请求逻辑,并将处理结果作为Ok结果返回。
这样,当BadRequest时,ApiController并不总是返回数据,而是根据实际情况决定是否返回数据。