我是第一次编写Web服务。我基于Jersey创建了一个RESTful Web服务。而且我想 产生JSON 。我需要怎么做才能生成正确的Web服务的JSON类型?
这是我的方法之一:
@GET @Path("/friends") @Produces("application/json") public String getFriends() { return "{'friends': ['Michael', 'Tom', 'Daniel', 'John', 'Nick']}"; }
仅指出@Produces("application/json")方法的注释就足够了吗?那么此方法可能返回任何类型的对象?还是只有String?我是否需要对这些对象进行其他处理或转换?
@Produces("application/json")
作为初学者,请帮助我解决这些问题。提前致谢!
您可以使用jaxb注释来注释bean。
@XmlRootElement public class MyJaxbBean { public String name; public int age; public MyJaxbBean() {} // JAXB needs this public MyJaxbBean(String name, int age) { this.name = name; this.age = age; } }
然后您的方法将如下所示:
@GET @Produces("application/json") public MyJaxbBean getMyBean() { return new MyJaxbBean("Agamemnon", 32); }
在最新文档中有一章对此进行了介绍:
https://jersey.java.net/documentation/latest/user- guide.html#json