我使用SpringMVC 4.2.5,并制作了一个Rest Controller,但是响应不是我想要的。
这是细节。
我有一个名为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
是正确的。 最佳答案
我假设您正在使用杰克逊将“ PropertyEntity”对象转换为json。
这里可能出现的问题可能是PropertyEntity类中的吸气剂和吸气剂。
请参阅isEnable
的getter / setter,并为isMetric
和isDimension
遵循类似的命名约定
确保布尔值的获取器以isIsMetric()...
而不是getIsMetric()
开头。
如果这样做无济于事,请在这里分享您的获取者和安装者。