我有REST POST方法,它接受@RequestBody字符串名称。 当我从Postman json那里寄这样的时候:
{
"name": "some_name"
}
我得到一个String变量,其中包含:'{“name”:“some_name”}'。
但是当我从postman发送some_name时,我得到包含'some_name'的变量。 怎么可能?
答案 0 :(得分:0)
你告诉杰克逊将有效负载解析为字符串,所以它确实如此。如果您希望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
重构为自己的文件并修改对公众的访问权。