我有一段使用数据注释进行验证的代码。
当我传递一个空字符串(带一个空格)进行测试时,它会返回400状态码。下面是在Swagger中的输出。 我的问题是为什么默认情况下它返回400状态码而不是更准确的422状态码?如何在内容类型仍为
应用Yong Shun的建议后,我可以得到422状态码和内容类型为
[Route("api/[controller]")]
[ApiController]
public class AccountController : ControllerBase
{
private readonly IAccountService _accountService;
/// <param name="accountService"></param>
public AccountController(IAccountService accountService)
{
_accountService = accountService;
}
[HttpGet]
[Route("IsAccountClosed/{nric}")]
public async Task<ActionResult> IsAccountClosed([Required] string nric)
{
// code removed for brevity
}
}
当我传递一个空字符串(带一个空格)进行测试时,它会返回400状态码。下面是在Swagger中的输出。 我的问题是为什么默认情况下它返回400状态码而不是更准确的422状态码?如何在内容类型仍为
application/problem+json
的情况下将其更改为422状态码?应用Yong Shun的建议后,我可以得到422状态码和内容类型为
application/problem+json
,但响应体与以下所示不同。