
我这几天在研究 spring boot 2.0,但是 webflux 还没开始写就遇到了这个问题,很费解。先给你们看看代码:
@PostMapping("/save") public String save(@RequestParam String name) { User user = new User(); user.setName(name); userRepo.save(user) return "用户保存成功"; } 然后我用 postman 测试的时候,明明传了参数“ name ”但是依旧是显示
{ "timestamp": "2018-07-18T06:55:07.879+0000", "path": "/user/save", "status": 400, "error": "Bad Request", "message": "Required String parameter 'name' is not present" } form-data 和 x-www-form-urlencoded 都不行,这是咋咧? 前辈赐教
1 darkblood 2018 年 7 月 18 日 via Android spring 不熟 requestparam 是不是取的 querystring |
2 zuishuaidenage 2018 年 7 月 18 日 我估计是由于你用的 post 然后 RequestParam 取不到 你把 RequestParam 去掉试试 |
3 acrisliu 2018 年 7 月 18 日 试试 url/save?name=param |
4 wdlth 2018 年 7 月 18 日 有可能是 Postman 的锅,我遇到过复制进去的 field 不提交的 BUG 还有设置 application/x-www-form-urlencoded 头再试试 |
5 jack80342 2018 年 7 月 18 日 最近翻译了最新的 Spring boot 官方文档,欢迎反馈,https://www.gitbook.com/book/jack80342/spring-boot/details |
6 azygote 2018 年 7 月 18 日 POST 的话不需要 @RequestParam 的吧 |
7 @jack80342 感谢你的贡献,已 CTRL+D。 |
8 wleexi 2018 年 7 月 18 日 PSOTMAN 把请求参数放在请求体内,自然 400 了 |
9 johnniang 2018 年 7 月 18 日 via Android 既然是 post,为何不直接传{'name': '...'},然后接收 User user |
10 chocotan 2018 年 7 月 18 日 |
11 hduwillsky 2018 年 7 月 19 日 via iPhone RequestParam 是 query param |
13 Malthael 2018 年 7 月 19 日 你 postman 是怎么传参数的? post 方式 @RequestBody 和 @RequestParam 传参方式是不一样的 |
14 nita22 2018 年 7 月 19 日 可以尝试用 axios 或者 jquery 的 ajax,自己发一个请求到你的 controller 看看。目测是 postman 的问题 |
15 shazh520 OP 哈哈,postman 背锅 |