【发布时间】:2017-05-14 13:06:02
【问题描述】:
我无法发送包含(键、值)映射的发布请求。
地图不适用于@RequestBody
请指教。
谢谢。
【问题讨论】:
标签: spring jackson spring-restcontroller
我无法发送包含(键、值)映射的发布请求。
地图不适用于@RequestBody
请指教。
谢谢。
【问题讨论】:
标签: spring jackson spring-restcontroller
模型类:
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@JsonSerialize
public class Model {
@JsonProperty("fname")
private String fname;
@JsonProperty("lname")
private String lname;
private Model(){
}
}
控制器方法:
@RequestMapping(value = "/url", method = RequestMethod.POST)
public ResponseEntity<?> method(@RequestBody Map<String, Model> values){
return ResponseEntity.ok(values);
}
输入:
{
"key1":{
"fname":"First Name",
"lname": "Last Name"
},
"key2":{
"fname":"First Name",
"lname": "Last Name"
}
}
输出:
{
"key1":{
"fname":"First Name",
"lname": "Last Name"
},
"key2":{
"fname":"First Name",
"lname": "Last Name"
}
}
【讨论】:
需要映射到请求体的对象没有默认构造函数。我已经覆盖了一个。 Jackson json api 需要默认构造函数。
【讨论】: