我使用SpringMVC 4.2.5,并制作一个休息控制器,但响应不是我想要的。
这是细节。
我有一个名为propertyEntity
的实体,
public class PropertyEntity implements Serializable, Cloneable {
private static final long serialVersionUID = -7032855749875735832L;
private int id;
private String propertyName;
private boolean isEnable;
private boolean isDimension;
private boolean isMetric;
}
和控制器是:
@Controller
@RequestMapping("/api/v1/properties")
public class PropertyController {
@RequestMapping(method = RequestMethod.GET,
produces = "application/json;charset=utf-8")
@ResponseStatus(HttpStatus.OK)
public @ResponseBody
List<PropertyEntity> getAll() {
return propertyService.getAll();
}
}
当我请求api时,结果是:
[
{
"id": 1,
"propertyName": "money1",
"isEnable": true,
"dimension": false,
"metric": true
},
{
"id": 2,
"propertyName": "money2",
"isEnable": true,
"dimension": false,
"metric": true
}
]
我想要的是:
[
{
"id": 1,
"propertyName": "money1",
"isEnable": true,
"isDimension": false,
"isMetric": true
},
{
"id": 2,
"propertyName": "money2",
"isEnable": true,
"isDimension": false,
"isMetric": true
}
]
意想不到的是:
isDimention
已更改为dimension
,
isMetric
已更改为metric
,
但是isEnable
是对的。
答案 0 :(得分:0)
我假设你使用jackson将“PropertyEntity”对象转换为json。
这里可能出现的问题可能是PropertyEntity类中的getter和setter。
查看isEnable
的getter / setter,并遵循isMetric
&amp;的类似命名约定isDimension
强>
确保布尔的getter以isIsMetric()...
而不是getIsMetric()
开头。
如果这没有帮助,请在此分享你的吸气剂和制定者。