パッケージ jakarta.ws.rs

アノテーション型 Path


  • @TargetSE({TYPESE,METHODSE})
    @RetentionSE(RUNTIMESE)
    @DocumentedSE
    public @interface Path
    リソースクラスまたはクラスメソッドがリクエストを処理する URI パスを識別します。

    パスは相対パスです。アノテーション付きクラスの場合、ベース URI はアプリケーションパスです。ApplicationPath を参照してください。アノテーション付きメソッドの場合、ベース URI はそれを含むクラスの有効な URI です。ベース URI に対してパスを絶対化するために、パスの先頭の "/" は無視され、ベース URI は "/" で終わるかのように扱われます。例:

     @Path("widgets")
     public class WidgetsResource {
      @GET
      String getList() {...}
    
      @GET @Path("{id}")
      String getWidget(@PathParam("id") String id) {...}
     }
     

    上記で、アプリケーションパスが catalogue であり、アプリケーションが http://example.com/ にデプロイされている場合、http://example.com/catalogue/widgets に対する GET リクエストは getList メソッドによって処理され、http://example.com/catalogue/widgets/nnn (nnn はいくつかの値)に対するリクエストは getWidget メソッドによって処理されます。どちらかの @Path アノテーションの値が "/" で始まっている場合も同様です。

    クラスおよびメソッドには、Consumes および Produces のアノテーションを付けて、受信するリクエストをフィルタリングすることもできます。

    導入:
    1.0
    作成者:
    Paul Sandoz, Marc Hadley
    関連事項:
    Consumes, Produces, PathParam
    • 必須定数のサマリー

      必須要素  
      修飾子と型 必須要素 説明
      StringSEvalue
      リソースクラスまたはメソッドの URI テンプレートを定義します。マトリックスパラメーターを含めることはできません。
    • 要素の詳細

      • value

        StringSE value
        リソースクラスまたはメソッドの URI テンプレートを定義します。マトリックスパラメーターを含めることはできません。

        埋め込みテンプレートパラメーターは許可され、次の形式になります。

          param = "{" *WSP name *WSP [ ":" *WSP regex *WSP ] "}"
         name = (ALPHA / DIGIT / "_")*(ALPHA / DIGIT / "." / "_" / "-" ) ; \w[\w\.-]*
         regex = *( nonbrace / "{" *nonbrace "}" ) ; where nonbrace is any char other than "{" and "}"
         

        上記で使用されている構文と WSPALPHADIGIT の拡張の説明については、RFC 5234 を参照してください。上記では、name はテンプレートパラメーター名であり、オプションの regex は、パラメーターのキャプチャーグループの内容を指定します。regex が指定されていない場合、パスセグメント境界で終了する [^/]+ のデフォルト値が使用されます。リクエスト URI と URI テンプレートの照合は、エンコードされたパス値に対して実行され、実装は正規表現のリテラル文字を自動的にエスケープしません。regex のリテラルは、RFC 3986 セクション 3.3 のルールに従って作成者がエスケープする必要があります。regex の使用には注意が必要です。誤って使用すると、テンプレートパラメーターが予期しない URI パスに一致する可能性があります。正規表現の構文の詳細については、パターンSEを参照してください。テンプレートパラメーターの値は、PathParam を使用して抽出できます。

        提供された値のリテラル部分(テンプレートパラメーターの一部ではない文字)は、RFC 3986 セクション 3.3 の path 本番に準拠するように自動的にパーセントエンコードされます。パーセントエンコードされた値は値のリテラル部分で許可されます。実装はそのような値を認識し、"%" 文字をダブルエンコードしないことに注意してください。

        戻り値:
        URI テンプレート。