我如何强制Jax-RS只发布JSON?

时间:2016-04-04 22:27:21

标签: jax-rs java-ee-7

目前我的休息资源如下:

 @GET
 @Override
 @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
 public List<Customer> findAll() {
    return super.findAll();
 }

从它的外观来看,我觉得

curl -v -H "Accept:application/json" -H "Accept-encoding:gzip" http://localhost:8080/mavenproject1/webresources/com.mycom.mavenproject1.customer

应该在JSON中给我一个响应,但是我得到了一个错误。如何使用JAX-RS强制执行JSON响应?

2 个答案:

答案 0 :(得分:1)

我正在使用Netbeans来自动生成代码。首先,它从数据库创建实体类,然后使用rest类访问实体类,最后使用Knockout.js自动生成一个rest客户端。

但是,Netbeans没有将org.json,com.sun.jersey和com.sun.jersey添加到pom.xml文件中。我添加了上面的依赖项,现在,我可以按预期获得json响应。

答案 1 :(得分:-1)

如果您只想生成仅JSON响应,则必须删除&#34; MediaType.APPLICATION_XML&#34;来自@Produces注释。