我有以下几部分代码。当我发送HTTP请求时,出现与carCoordinates字段相关的错误400(如果删除它,一切都很好)。应该是double的列表。
此外,当我将名称carCoordinates更改为carcoordinates而不更改getter名称时,请求得到了很好的接收,但是由于getter未与对象链接(空),因此我无法获取数据。如果我将getter名称更改为getCarcoordinates以匹配该字段,那么它将不再起作用。 任何想法为什么它不起作用?
CarEvent.java:
Public class CarEvent {
@JsonProperty("carCoordinates")
protected List carCoordinates;
...
public void setCarCoordinates(Coordinate c) {
...
}
public List getCarCoordinates() {
return CarCoordinates;
}
}
发送的JSON是:
{
"id": [006001556, 631016236, 125899724],
"speed": "0",
"carCoordinates": [56.477369, 26.64477, 56.466177, 26.651258, 80.545048, 50.614582],
"num": "5"
}
请求的服务器类是:
@RequestMapping(method = RequestMethod.POST, value = "/car-action", produces = "application/json;charset=UTF-8")
@ResponseBody
public String CarAction(@RequestBody CarEvent requestBody, @RequestHeader HttpHeaders httpHeaders) {
...
}
答案 0 :(得分:2)
问题可能是您的setter方法。您的字段的类型为List
,但setter的对象为Coordinate
。根据您的json请求,我认为应该是:
public void setCarCoordinates(List c) {
this.carCoordinates = c;
}
答案 1 :(得分:2)
您的CarEvent
参数的setter方法错误。
创建一个类Coordinate
并扩展到List或
更新如下:
public void setCarCoordinates(List cordinates) {
...
}