6

私はJavaを初めて使用します。私は以下のコードを見ていました。

@Produces("text/xml")
@GET
@Path("/xml/search")
public Object searchXML(@QueryParam("query") String query,
        @QueryParam("granularity") String granularity) {
    return search(query, granularity);
}

上記のコードの関数定義の前に、@ Produces、@ GET、@ Path、および@QueryParamの使用法を理解できませんでした。誰かがこれに光を当てることができますか?ありがとう

4

3 に答える 3

7

これらのアノテーションは、RESTful Web サービスの標準であるJAX-RSによって定義されています。

上記の例では、メソッドが以下を処理することを意味します。

  • GETリクエスト

  • パス「/xml/search」

  • クエリ引数「query」を文字列クエリ引数にマップし、

  • 粒度への「粒度」と同様に

  • 結果の content-type は「text/xml」になります

(そして、おそらくこれのためにカスタムマーシャラーを呼び出します)

(参考までにこちらのページをご覧ください)

于 2013-01-11T04:53:25.203 に答える
0

プロデューサー メソッドは、後で注入できるオブジェクトを生成するメソッドです。リンク それ自体が Bean ではないオブジェクトを注入する場合 注入されるオブジェクトの具象型が実行時に異なる可能性がある場合 Bean コンストラクターが実行しないカスタム初期化がオブジェクトに必要な場合

@GET: URI によって識別されるリソースの表現をクライアントに送信します。形式は、HTML、プレーン テキスト、JPEG などです。リソースの表現を送信する方法 (@GET) を参照してください。リンク

@Path(param) : @PathParam は、変数 URI パス フラグメントをメソッド呼び出しにマップできるようにするパラメーター アノテーションです。リンク

@QueryParam アノテーションを使用して、URI クエリ パラメータを Java メソッドリンクに挿入できます。

于 2013-01-11T04:58:03.957 に答える
0

@Produces アノテーションは、リソースが生成してクライアントに送り返すことができる表現の MIME メディア タイプを指定することです。

@GET は、@PUT、@POST、@DELETE などの HTTP メソッドです。

@Path アノテーションの値は相対 URI パスです。この場合、関数呼び出しはサービスから/xml/search/、params を持つ関数のパスを介して行われます。

@QueryParam は、リクエスト URL の Query コンポーネントからクエリ パラメーターを抽出することです。これは、パラメーターを URL から文字列として受け取ります。

ドキュメント リファレンス 詳細情報

于 2013-01-11T05:03:54.890 に答える