如何在Postman中测试接收两个FromBody字符串的HttpPost接口?
问题原因及解决方法
你遇到的问题核心是:ASP.NET Core 中 [FromBody] 只能绑定单个参数,因为请求体的数据流只能被读取一次,没法同时解析两个独立的字符串参数。单个参数的接口能正常工作,是因为框架可以直接把整个请求体内容绑定到那个字符串上,但多参数场景就会解析失败。
正确的接口改造方案
推荐创建一个DTO(数据传输对象)类,把邮箱和新密码封装成一个对象,这样就能用[FromBody]正常绑定:
1. 定义DTO类
public class ResetPasswordRequest { public string UserMail { get; set; } public string NewPassword { get; set; } }
2. 修改接口方法
[HttpPost("forgetuserpassword")] public async Task<IActionResult> ForgetUserPassword([FromBody] ResetPasswordRequest request) { return Ok(await _userService.ForgetPassword(request.UserMail, request.NewPassword)); }
Postman测试步骤
接口改造后,按以下方式测试:
- 请求方法选择
POST,填入完整的接口URL - 切换到Body标签,选择
raw格式,下拉框选JSON - 在输入框中填写JSON格式的请求内容:
{ "UserMail": "test@example.com", "NewPassword": "YourNewPass123!" }
- 点击发送即可完成测试
内容的提问来源于stack exchange,提问作者NewPartizal
相关产品推荐
相关产品推荐

