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
到它自己的文件,並修改進入公衆。