3

@PUT@POST注釈を使用するメソッドがあります。これらの注釈がなければ、これらのメソッドはうまく機能します。それでは、これらの注釈の必要性は何ですか?

@GET    
@Path ("/{stockId}")
@Produces("application/xml")
public StockDetail search(@PathParam("stockId") Integer stockId) {

    final String methodName="search";
    mLogger.debug(mClassName+"::" +methodName+"::Entered");
    StockDetail stockDetails=null;
    try {

         stockDetails = mStockBean.retrieve(stockId);
    } catch(Exception exception) {

        mLogger.error("ClassName::" +mClassName+ "MethodName::" +methodName+"Error::"+exception.getMessage());
    }
    return stockDetails;
}
4

2 に答える 2

3

これらの注釈を使用すると、たとえば、異なるメソッドに対して同じパスを使用できます。

@GET    
@Path ("/{stockId}")
@Produces("application/xml")

@PUT
@Path ("/{stockId}")
@Consumes("application/xml")

ここでは、同じパスの前に、異なるタイプのリクエストがあります。

アップデート。コメントによると、メソッドがA()あり@GET、上記で宣言されているように Web サービス署名でそれを使用する場合、パラメーターなしで使用することに注意してください (リクエストボディを消費しないため)。A(String body)2 つ目は、処理するエンティティを消費するため、このメソッドを使用します。

于 2012-09-18T06:59:40.583 に答える
2

注釈は、プログラム自体の一部ではないプログラムに関するデータを提供します。注釈を付けるコードの操作に直接影響はありません。

Oracle による Java チュートリアルからの引用:

注釈には多くの用途があります。

  1. コンパイラー向けの情報 — コンパイラーは注釈を使用して、エラーを検出したり、警告を抑制したりできます。
  2. コンパイラ時および展開時の処理 — ソフトウェア ツールは注釈情報を処理して、コードや XML ファイルなどを生成できます。
  3. 実行時処理 — 一部の注釈は、実行時に調べることができます。

注釈はメソッドの動作には影響しません

于 2012-09-18T06:35:06.197 に答える