我目前正在使用Jersey返回JSON。我如何返回JSONP呢?例如,我当前的RESTful方法是:
@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Order> getOrders() {
return OrderRepository.getOrders();
}我想部署在Tomcat上(不想使用GlassFish)。我对Jersey的唯一依赖是:
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.9.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
<version>1.9.1</version>
</dependency>还需要哪些额外的依赖项?代码将如何更改?
谢谢。
Naresh
发布于 2012-11-15 18:13:31
看看Jersey中的JSONP示例(特别是ChangeList资源)(您可以下载整个项目的here)。
你基本上需要做的就是这样:
@GET
@Produces(MediaType.APPLICATION_JSON)
public JSONWithPadding getOrders() {
return new JSONWithPadding(new GenericEntity<List<Order>>(OrderRepository.getOrders()){});
}发布于 2014-10-14 20:48:37
正如@s_t_e_v_e所说,修改正确的答案很重要。它应该是这样的:
@GET
@Produces({"application/javascript"})
public JSONWithPadding getOrdersJSonP(@QueryParam("callback") String callback) {
List<Order> orderList = OrderRepository.getOrders();
return new JSONWithPadding(new GenericEntity<List<Order>>(orderList){},
callback);
}https://stackoverflow.com/questions/13392623
复制相似问题