C# REST API如何返回400 HTTP状态码与验证消息JSON列表
C# Web API 同时返回400状态码与验证消息列表的实现方案
核心原因
你现有代码中直接返回JsonResult时,默认会携带200 OK的HTTP状态码,只要显式指定返回状态码为400即可满足需求。
实现方式(两种可选)
- 方式1:直接修改现有JsonResult的状态码(对原有代码改动最小)
修改你的else分支代码如下:
else { return new JsonResult(ValidationMessages) { StatusCode = StatusCodes.Status400BadRequest }; }
- 方式2:使用.NET内置的
BadRequest方法(更符合官方编码约定)BadRequest方法默认返回400状态码,传入的参数会自动序列化为JSON响应体,写法更简洁:
else { return BadRequest(ValidationMessages); }
效果验证
两种写法最终效果完全一致:Postman状态栏会显示400 Bad Request,响应体为你生成的验证消息列表的JSON格式字符串数组。
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

