0

この POST を提供する RESTful リソースがあるとします。

@POST
@Produces("application/json")
@Consumes("application/json")
public String doPostJson(String string) {
    ...
}

(サーバーで上記を実行できたので、これが有効な実装であると想定しています)

今、私は doPostJson() が文字列を取得して文字列を返すと考えています。この文字列は、JSON の有効な文字列とはまったく異なるものになる可能性があります。私は正しいですか?ここで任意の文字列を使用できる場合、「application/json」の意味は何ですか?

MORE: 一方で、これをそのまま使えますか?

@POST
@Produces("text/plain")
@Consumes("text/plain")
public String doPostJson(String string) {
    ... /* read passed parameter as JSON valid string and return JSON string */
}
4

2 に答える 2

6

Producesおよび注釈は、 Web サービス ユーザーとそれぞれおよびヘッダー情報Consumesを共有するために使用されます。Content-type ヘッダーは、サービスの受信者/消費者がそのヘッダーの情報に従って応答を処理するのに役立ちます。content-type ヘッダーの値を application/json としてマークすると、受信者はそれに応じて json パーサーを使用できます。同様に、Consumes を使用して、Accept ヘッダーが application/json であることを保証しているため、それに応じて json の解析/非整列化を行うことができます。Content-TypeAccept

于 2013-07-23T17:46:31.137 に答える
1

「application/json」は提供している MIME タイプです。詳細については、この関連する質問を参照してください。アプリケーションがアプリケーションと通信するのに役立ちます。application/json ではなく image/jpeg など、MIME タイプが間違っている場合、応答を完全に拒否する可能性があります。

于 2013-07-23T17:45:36.070 に答える