Postman向.NET Core API传递参数时超过2个参数无法生效
.NET Core API无法接收DistrictUuid参数的解决方案
1. 核对接收模型的属性定义
首先确认API对应的请求模型(DTO)中包含DistrictUuid属性,且名称或序列化配置与请求参数匹配:
public class LoginRequest { public string Username { get; set; } public string Password { get; set; } // 若请求参数是小驼峰的districtUuid,需添加JsonPropertyName特性指定映射 [JsonPropertyName("districtUuid")] public Guid DistrictUuid { get; set; } }
如果请求使用表单提交,确保属性名称和表单参数完全一致(默认大小写敏感,除非全局配置了大小写不敏感)。
2. 确认参数绑定方式与请求格式匹配
- 若请求是JSON格式,控制器方法需用
[FromBody]标记参数:
同时确保请求头[HttpPost("login")] public IActionResult Login([FromBody] LoginRequest request) { // 业务逻辑处理 }Content-Type设置为application/json。 - 若请求是表单格式(application/x-www-form-urlencoded),需用
[FromForm]标记参数:[HttpPost("login")] public IActionResult Login([FromForm] LoginRequest request) { // 业务逻辑处理 }
3. 检查请求参数的合法性
- 确认
DistrictUuid参数拼写无错误、无多余空格; - 若参数是UUID类型,确保传递的是有效的UUID字符串(如
"550e8400-e29b-41d4-a716-446655440000"),格式错误会导致绑定失败。
4. 调试验证请求内容
在API中临时添加代码,读取原始请求体,确认参数是否实际到达服务器:
[HttpPost("login")] public async Task<IActionResult> Login() { var rawRequestBody = await new StreamReader(Request.Body).ReadToEndAsync(); // 将rawRequestBody输出到日志或调试窗口,查看是否包含DistrictUuid return Ok(); }
内容的提问来源于stack exchange,提问作者Vasanth R
相关产品推荐
相关产品推荐

