0

我正在尝试实现这个例子。FileResource 中的第一个方法应该返回一个 json 响应,但响应是作为 XML 来的。我以前从未使用过球衣。我尝试添加@produces 产生这个:

@GET @Produces("application/json")
@Path("/url")
public Response getCallbackUrl() {
    String url = blobstoreService.createUploadUrl("/rest/file");
    return Response.ok(new FileUrl(url)).build();
}

现在我得到

A message body writer for Java class FileUrl, and Java type class FileUrl, and MIME media type application/json was not found

我怎样才能解决这个问题?谢谢你的帮助。如果您需要更多信息,请告诉我。我不太了解球衣术语。

4

2 回答 2

1

您需要更多的依赖项才能生成 JSON 输出。

看看:http: //jersey.java.net/nonav/documentation/latest/chapter_deps.html

向下滚动至:

11.4.1.2。MOXy Maven 开发人员在使用 MIME 媒体类型 application/json 时使用 JAXB bean 的 JSON 序列化支持需要对 jersey-json 模块的依赖(需要对 org.eclipse.persistence.moxy 的显式依赖)。


您可能感兴趣的“香草”泽西岛的替代品是Dropwizard。他们的简介是:

Dropwizard 对复杂的配置、应用程序指标、日志记录、操作工具等提供开箱即用的支持,使您和您的团队能够在尽可能短的时间内交付生产质量的 HTTP+JSON Web 服务。

于 2012-12-31T02:17:16.697 回答
0

是的,你需要一些 jersey / json 依赖项:

<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
<version>1.2</version>
</dependency>

当然是你的球衣版本。

于 2013-01-03T12:08:20.920 回答