我刚刚在 Spring.io http://spring.io/guides/gs/rest-service/ 上接过教程并创建了一个简单的休息服务。但是,有人知道如何以 JSON 格式返回多个对象吗?例如,如果我有一个带有名称和 ID 的人员类,我如何将三个人添加到/persons?
最佳答案
您可以使用@ResponseBody
注释并返回您想要的任何内容,前提是这些对象可以被json化。
例如,您可以有一个像这样的 bean:
@Data
public class SomePojo {
private String someProp;
private List<String> someListOfProps;
}
然后在你的 Controller 中你可以:
@ResponseBody
@RequestMapping("/someRequestMapping")
public List<SomePojo> getSomePojos(){
return Arrays.<String>asList(new SomePojo("someProp", Arrays.<String>asList("prop1", "prop2"));
}
默认情况下,Spring 将使用其 Jackson 映射器来执行此操作,因此您会得到如下响应:
[{"someProp":"someProp", "someListOfProps": ["prop1", "prop2"]}]
同样的方式,您可以绑定(bind)到一些对象,但是这一次,使用 @RequestBody
注解,这次将使用 jackson 为您预先转换 json。
你能做的是
@RequestMapping("/someOtherRequestMapping")
public void doStuff(@RequestBody List<SomePojo> somePojos) {
//do stuff with the pojos
}
关于java - 返回 JSON 的 Spring Restful Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21755169/