パッケージ jakarta.ws.rs
アノテーション型 FormParam
@TargetSE({PARAMETERSE,METHODSE,FIELDSE}) @RetentionSE(RUNTIMESE) @DocumentedSE public @interface FormParam
リクエストエンティティボディ内に含まれるフォームパラメーターの値をリソースメソッドパラメーターにバインドします。Encoded
アノテーションを使用して無効にしない限り、値は URL デコードされます。デフォルト値は、DefaultValue
アノテーションを使用して指定できます。リクエストエンティティの本文がないか、サポートされていないメディア型の場合は、デフォルト値が使用されます。アノテーション付きパラメーターの型T
は、以下のいずれかでなければなりません。- プリミティブ型になる
- 単一の
String
引数を受け入れるコンストラクターがある - 単一の
String
引数を受け入れるvalueOf
またはfromString
という名前の静的メソッドがある (たとえば、Integer.valueOf(String)
SE を参照してください) - 型の「文字列から」変換が可能な
ParamConverter
インスタンスを返すParamConverterProvider
JAX-RS 拡張 SPI の登録済み実装があります。 List<T>
、Set<T>
、SortedSet<T>
またはT[]
配列であり、T
は 2, 3 または上記 4 を満たします。結果のコレクションは読み取り専用です。
型が上記の 5 にリストされたコレクション型の 1 つではなく、フォームパラメーターが複数の値で表される場合、パラメーターの最初の値(字句的に)が使用されます。
このアノテーションを使用してフォームパラメーターをバインドする場合、JAX-RS 実装はエンティティプロバイダー API を使用して
Form
を作成し、このインスタンスから値を取得する必要があります。リソースメソッドに少なくとも 1 つのFormParam
がある場合、JAX-RS 実装は同じメソッドのForm
エンティティパラメーターをサポートする必要があります。他のエンティティパラメーター型のサポートはオプションです。アノテーションターゲットではフィールドとメソッドでの使用が許可されていますが、このアノテーションはリソースメソッドパラメーターでのみサポートされる必要があることに注意してください。
- 導入:
- 1.0
- 作成者:
- Paul Sandoz, Marc Hadley
- 関連事項:
DefaultValue
,Encoded
要素の詳細
value
StringSE value
アノテーション付きメソッド引数の値を初期化するために使用される値を持つフォームパラメーターの名前を定義します。名前はデコードされた形式で指定され、値内のパーセントエンコードされたリテラルはデコードされず、代わりにリテラルテキストとして扱われます。たとえば、パラメーター名が "ab" の場合、アノテーションの値は "ab" であり、 "a + b" や "a%20b" ではありません。- 戻り値:
- フォームパラメーター名。