我想公开(虽然是控制器)我的实体的一些特定字段(比如 Person ),这就是说:
我想准备我的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;
}
还有更多美容/清晰/弹簧方式来实现这一目标吗?