我怎样才能强制 Jax-RS 只输出 JSON ?

How can I force Jax-RS to only put out JSON only?

目前我的休息资源是这样的:

 @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 响应?

我正在处理这个项目,使用 Netbeans 自动生成代码。首先,它从数据库创建了实体 类,然后通过 rest 类 访问实体 类,最后它使用 Knockout.js.[=10 自动生成了一个 rest 客户端=]

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

如果您只想生成 JSON 响应,则必须从 @Produces 注释中删除 "MediaType.APPLICATION_XML"。