繁体   English   中英

Spring restful webservice返回JSON

[英]Spring restful webservice returning JSON

我刚刚在Spring.io http://spring.io/guides/gs/rest-service/上完成了教程,并创建了一个简单的休息服务。 但是,有人知道如何以JSON格式返回多个对象吗? 例如,如果我有一个姓名和身份证的人员班级,我怎样才能将三个人加入/人?

您可以使用@ResponseBody注释,只返回您想要的任何内容,只要这些对象可以被jsonized。

例如,你可以有这样的bean:

@Data
public class SomePojo {
   private String someProp;
   private List<String> someListOfProps;
}

然后在你的控制器中你可以:

@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"]}]

同样地,你可以绑定到一些对象,但这一次,使用@RequestBody注释,这次将使用jackson为你预转换json。

你能做的是

@RequestMapping("/someOtherRequestMapping")
public void doStuff(@RequestBody List<SomePojo> somePojos) {
   //do stuff with the pojos
}

尝试从方法返回一个列表:

@RequestMapping("/greetings")
public @ResponseBody List<Greeting> greetings(
        @RequestParam(value="name", required=false, defaultValue="World") String name) {
    return Arrays.asList(new Greeting(counter.incrementAndGet(),String.format(template, name)));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM