
我这几天在研究 spring boot 2.0,但是 webflux 还没开始写就遇到了这个问题,很费解。先给你们看看代码:
@PostMapping("/save") public String save(@RequestParam String name) { User user = new User(); user.setName(name); userRepo.sae(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-07-18 15:18:26 +08:00 via Android spring 不熟 requestparam 是不是取的 querystring |
2 zuishuaidenage 2018-07-18 17:30:55 +08:00 我估计是由于你用的 post 然后 RequestParam 取不到 你把 RequestParam 去掉试试 |
3 acrisliu 2018-07-18 17:33:01 +08:00 试试 url/save?name=param |
4 wdlth 2018-07-18 21:07:55 +08:00 有可能是 Postman 的锅,我遇到过复制进去的 field 不提交的 BUG 还有设置 application/x-www-form-urlencoded 头再试试 |
5 jack80342 2018-07-18 22:06:43 +08:00 最近翻译了最新的 Spring boot 官方文档,欢迎反馈,https://www.gitbook.com/book/jack80342/spring-boot/details |
6 azygote 2018-07-18 22:29:12 +08:00 POST 的话不需要 @RequestParam 的吧 |
7 |
8 wleexi 2018-07-18 22:56:07 +08:00 PSOTMAN 把请求参数放在请求体内,自然 400 了 |
9 johnniang 2018-07-18 23:18:11 +08:00 via Android 既然是 post,为何不直接传{'name': '...'},然后接收 User user |
10 chocotan 2018-07-18 23:34:37 +08:00 |
11 hduwillsky 2018-07-19 08:00:44 +08:00 via iPhone RequestParam 是 query param |
13 Malthael 2018-07-19 09:16:47 +08:00 你 postman 是怎么传参数的? post 方式 @RequestBody 和 @RequestParam 传参方式是不一样的 |
14 nita22 2018-07-19 10:05:39 +08:00 可以尝试用 axios 或者 jquery 的 ajax,自己发一个请求到你的 controller 看看。目测是 postman 的问题 |
15 shazh520 OP 哈哈,postman 背锅 |