我使用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,并为isMetricisDimension遵循类似的命名约定

确保布尔值的获取器以isIsMetric()...而不是getIsMetric()开头。

如果这样做无济于事,请在这里分享您的获取者和安装者。

07-26 03:01