Post JSON 休息 Spring 4 服务
Post JSON to Rest Spring 4 service
我正在尝试 post complex/nested json 使用 PostMan rest 客户端来 Rest Spring4,但是 objectMapper.readValue returns null.
@RequestMapping(value = "/loginuser", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody
Status Login(@RequestBody String userdata) {
try {
ObjectMapper objectMapper = new ObjectMapper();
LoginData theUser = objectMapper.readValue(userdata, LoginData.class);
String userdata contains Json string but objectMapper.readValue returns null.
JSON {"LoginData":{"id":"1", "username":"kashmir1","password":"kashmir2"}}
POJO:
public class LoginData implements Serializable{
@Id
@GeneratedValue
@Column(name = "id")
@JsonProperty("id")
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
and soon for username and password
请提供意见
我得到了答案:
按照下面的行而不是直接访问所需的节点
JsonNode rootNode = objectMapper.readValue(jsonString, JsonNode.class) ;
JsonNode userNode=rootNode.path("LoginData");
LoginData theUser = objectMapper.treeToValue(userNode, LoginData.class);
System.out.println("In Login"+theUser.getUsername());
我正在尝试 post complex/nested json 使用 PostMan rest 客户端来 Rest Spring4,但是 objectMapper.readValue returns null.
@RequestMapping(value = "/loginuser", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody
Status Login(@RequestBody String userdata) {
try {
ObjectMapper objectMapper = new ObjectMapper();
LoginData theUser = objectMapper.readValue(userdata, LoginData.class);
String userdata contains Json string but objectMapper.readValue returns null.
JSON {"LoginData":{"id":"1", "username":"kashmir1","password":"kashmir2"}}
POJO:
public class LoginData implements Serializable{
@Id
@GeneratedValue
@Column(name = "id")
@JsonProperty("id")
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
and soon for username and password
请提供意见
我得到了答案: 按照下面的行而不是直接访问所需的节点
JsonNode rootNode = objectMapper.readValue(jsonString, JsonNode.class) ;
JsonNode userNode=rootNode.path("LoginData");
LoginData theUser = objectMapper.treeToValue(userNode, LoginData.class);
System.out.println("In Login"+theUser.getUsername());