Spring Boot 新手。
尝试从 RestController 中的请求正文获取 json。
我将 json 输入传递为
{
"something":"54545",
"intgervalue":"1212"
}
我的模型为
public class TempClass {
private String something_1;
private int intgervalue_1;
//With Getters and Setters
}
我将 Rest API 公开为,
@RequestMapping(value = "/<PathGoesHere>", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON)
@CrossOrigin(origins = "*")
public WidgetsResponse getdashboardwidgets(@RequestBody TempClass entity) {
}
我研究过,如果 Jackson 位于类路径中,则该 json 到模型的转换由 Jackson 代表 Spring 负责。
但是 Jackson 正在将输入 json 映射到模型,即使名称完全不同。
我看到实体对象的值是,something_1 为“54545”,intgervalue_1 为“1212”。
我什至尝试在 POJO 属性上使用注释 @JsonProperty("TargetNameHere")
。但还是没有运气。
我期望,如果 Json 中的名称和模型中的名称匹配,那么只有 Jackson 必须映射它,否则不应映射。
有人可以对此提供一些意见吗?
最佳答案
Jackson 可以自动检测公共(public) getter/setter 的属性。
在你的例子中,我假设你的setter被命名为setSomething(),因此jackson使用set方法映射值。如果您不这样做,那么 setter 将被重命名。
关于java - 将 Body 中的 Json 映射到 Model 问题 Spring boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48419419/