从RequestParam更改为RequestBody

时间:2018-07-13 16:00:22

标签: spring

我以Accessing Data with MySQL官方Spring教程为起点。

然后,我将addNewUser方法的@GetMapping更改为@PostMapping,并将同一方法的@RequestParam(标题)参数更改为@RequestBody参数,例如所以:

public @ResponseBody String addNewUser (@RequestParam String name, @RequestParam String email) {

进入

public @ResponseBody String addNewUser (@RequestBody String name, @RequestBody String email) {

因为我希望这会将每个参数从标头移到请求正文中。

我使用邮递员(Postman)将POST发送到具有JSON(应用程序/ json)和必填字段的相同URL,并且返回错误为"Required request body is missing"

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

显然,@RequestBody批注的正确用法是引用包含每个JSON属性的Java POJO,在这种情况下,此User类包含name和{{1} }。每个礼节使用email是不正确的。

我一改变

@RequestBody

进入

public @ResponseBody String addNewUser (@RequestBody String name, @RequestBody String email) { ...

端点按预期工作。

It's OK to Ask and Answer Your Own Questions