public class HiddenHttpMethodFilter extends ObjectSE implements WebFilter
HttpRequest.getMethod()
を介して取得可能な HTTP メソッドに変換するリアクティブ WebFilter
。ブラウザーは現在 GET と POST のみをサポートしているため、一般的な手法は、追加の非表示フォームフィールド(_method
)を含む通常の POST を使用して、「実際の」HTTP メソッドを渡すことです。このフィルターはそのパラメーターを読み取り、ServerWebExchange.mutate()
を使用して HttpRequest.getMethod()
の戻り値を変更します。 リクエストパラメーターの名前はデフォルトで _method
に設定されていますが、methodParamName
プロパティを使用して調整できます。
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | DEFAULT_METHOD_PARAMETER_NAME 使用する HTTP メソッドを持つフォームパラメーターのデフォルト名。 |
コンストラクターと説明 |
---|
HiddenHttpMethodFilter() |
修飾子と型 | メソッドと説明 |
---|---|
reactor.core.publisher.Mono<VoidSE> | filter(ServerWebExchange exchange, WebFilterChain chain) HTTP POST を methodParamName に基づいた別のメソッドに変換します。 |
void | setMethodParamName(StringSE methodParamName) 使用する HTTP メソッドでフォームパラメーターの名前を設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setMethodParamName(StringSE methodParamName)
デフォルトでは、これは "_method"
に設定されています。
public reactor.core.publisher.Mono<VoidSE> filter(ServerWebExchange exchange, WebFilterChain chain)
methodParamName
に基づいた別のメソッドに変換します。