0
我有REST POST方法,它接受@RequestBody字符串名称。 当我从邮递员送JSON有这样的:Spring MVC - Jackson反序列化大括号
{
"name": "some_name"
}
我得到它包含一个字符串变量:“{‘名’:‘some_name’}”。
但是,当我从邮递员发送只是some_name我得到包含'some_name'的变量。 怎么可能?
我有REST POST方法,它接受@RequestBody字符串名称。 当我从邮递员送JSON有这样的:Spring MVC - Jackson反序列化大括号
{
"name": "some_name"
}
我得到它包含一个字符串变量:“{‘名’:‘some_name’}”。
但是,当我从邮递员发送只是some_name我得到包含'some_name'的变量。 怎么可能?
您正在告诉Jackson将有效负载解析为字符串,所以它确实如此。如果你想杰克逊解析JSON有效载荷送入一个POJO,这样做:
@RestController
public class MyController {
@PostMapping("my/endpoint")
public NameDto post(@RequestBody NameDto dto) {
// do stuff
return dto;
}
class NameDto {
private String name;
public NameDto() { }
public String getName() {
return this.name;
}
publid void setName(String s) {
this.name = s;
}
}
}
}
根据你的使用情况,您可能需要重构NameDto
到它自己的文件,并修改进入公众。