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. MIME メディア タイプ application/json を使用するときに JAXB Bean の JSON シリアル化サポートを使用するMOXy Maven 開発者は、jersey-json モジュールへの依存関係を必要とします (org.eclipse.persistence.moxy への明示的な依存関係が必要です)。


あなたが興味を持っているかもしれない "vanilla" Jersey の代替は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 に答える