Class HiddenHttpMethodFilter
java.lang.Object
org.springframework.web.filter.reactive.HiddenHttpMethodFilter
- All Implemented Interfaces:
WebFilter
Reactive
WebFilter
that converts posted method parameters into HTTP methods,
retrievable via HttpRequest.getMethod()
. Since browsers currently only
support GET and POST, a common technique is to use a normal POST with an additional
hidden form field (_method
) to pass the "real" HTTP method along.
This filter reads that parameter and changes the HttpRequest.getMethod()
return value using ServerWebExchange.mutate()
.
The name of the request parameter defaults to _method
, but can be
adapted via the methodParamName
property.
- Since:
- 5.0
- Author:
- Greg Turnquist, Rossen Stoyanchev
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Default name of the form parameter with the HTTP method to use. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<Void>
filter
(ServerWebExchange exchange, WebFilterChain chain) Transform an HTTP POST into another method based onmethodParamName
.void
setMethodParamName
(String methodParamName) Set the name of the form parameter with the HTTP method to use.
-
Field Details
-
DEFAULT_METHOD_PARAMETER_NAME
Default name of the form parameter with the HTTP method to use.- See Also:
-
-
Constructor Details
-
HiddenHttpMethodFilter
public HiddenHttpMethodFilter()
-
-
Method Details
-
setMethodParamName
Set the name of the form parameter with the HTTP method to use.By default this is set to
"_method"
. -
filter
Transform an HTTP POST into another method based onmethodParamName
.
-