Spring MVC - 客户端发送的请求在语法上不正确



我有一个简单的控制器:

@RequestMapping(method = { RequestMethod.POST })
public ResponseEntity<MyResponse> print(@RequestBody final RequestModel request) throw ApiException {
return null;
}

在我的请求模型中:

class RequestModel {
private String name;
private CustomData data;
}

自定义数据:

class CustomData {
private String data;
}

当我在没有"数据"字段的情况下发出 POST 请求时,它可以工作。但是如果我添加"数据"字段,我会得到 400,客户端发送的请求在语法上不正确。

不知道 如果你写了所有代码,但 tou 应该实现可序列化并编写 setter 和 getter。

但是,在回答您的问题时,您应该用@JsonProperty注释您的字段以指定所需的标志。

你发布的JSON应该是这样的:

{
"name":"Luke",
"data": {
"data":"I am your father"
}
}

OBS:如果您使用的是邮递员,请设置标题:键:内容类型,值:应用程序/json

应指定终结点: 例:

@PostMapping("/data")

而不是

@RequestMapping(method = { RequestMethod.POST })

如果您使用的是默认端口,请重试发布到 :

http://localhost:8080/data

OBS:请求模型和客户数据必须有getter和setter。

最新更新