Spring - REST Controller返回以返回JSON中的某些特定字段

时间:2016-06-16 12:34:27

标签: json spring rest collections controller

我想公开(虽然是控制器)我的实体的一些特定字段(比如 Person ),这就是说:

  • ID
  • 名称
  • ...

我想准备我的REST控制器,因此它将返回对象数组 - 但只包含对象的id和名称:

[
  {
    "name": "name1",
    "id": 1
  },
  {
    "name": "name2",
    "id": 2
  }
  ...
]

我找到了类似的东西 - Spring Rest Controller Return Specific Fields然而它背后的代码看起来并不好:

public @ResponseBody List<Map<String, Object>> getAll() {
    List<Person> allPersons = personService.findAll();

    List<Map<String, Object>> resultCollection = new ArrayList<Map<String, Object>>();
    for (Person person : allPersons) {
        Map<String, Object> personValuesMap = new HashMap<String, Object>();
        personValuesMap.put("id", person.getId());
        personValuesMap.put("name", person.getName());
        resultCollection.add(personValuesMap);
    }
    return resultCollection;
}

还有更多美容/清晰/弹簧方式来实现这一目标吗?

0 个答案:

没有答案