org.springframework.web.reactive.result.view

## Interface RequestDataValueProcessor

    public interface RequestDataValueProcessor

A contract for inspecting and potentially modifying request data values such as URL query parameters or form field values before they are rendered by a view or before a redirect.

Implementations may use this contract for example as part of a solution to provide data integrity, confidentiality, protection against cross-site request forgery (CSRF), and others or for other tasks such as automatically adding a hidden field to all forms and URLs.

View technologies that support this contract can obtain an instance to delegate to via `RequestContext.getRequestDataValueProcessor()`.

Since:
  5.0
Author:
  Rossen Stoyanchev

### Method Summary

All Methods Instance Methods Abstract Methods
`Map<String,String>` `getExtraHiddenFields(org.springframework.web.server.ServerWebExchange exchange)` Invoked after all form fields have been rendered.
`String` `processAction(org.springframework.web.server.ServerWebExchange exchange, String action, String httpMethod)` Invoked when a new form action is rendered.
`String` `processFormFieldValue(org.springframework.web.server.ServerWebExchange exchange, String name, String value, String type)` Invoked when a form field value is rendered.
`String` `processUrl(org.springframework.web.server.ServerWebExchange exchange, String url)` Invoked when a URL is about to be rendered or redirected to.

### Method Detail

#### processAction

    String processAction(org.springframework.web.server.ServerWebExchange exchange,
                         String action,
                         String httpMethod)

Invoked when a new form action is rendered.

Parameters:
  `exchange` - the current exchange
  `action` - the form action
  `httpMethod` - the form HTTP method
Returns:
  the action to use, possibly modified

#### processFormFieldValue

    String processFormFieldValue(org.springframework.web.server.ServerWebExchange exchange,
                                 String name,
                                 String value,
                                 String type)

Invoked when a form field value is rendered.

Parameters:
  `exchange` - the current exchange
  `name` - the form field name
  `value` - the form field value
  `type` - the form field type ("text", "hidden", etc.)
Returns:
  the form field value to use, possibly modified

#### getExtraHiddenFields

    @Nullable
    Map<String,String> getExtraHiddenFields(org.springframework.web.server.ServerWebExchange exchange)

Invoked after all form fields have been rendered.

Parameters:
  `exchange` - the current exchange
Returns:
  additional hidden form fields to be added, or `null`

#### processUrl

    String processUrl(org.springframework.web.server.ServerWebExchange exchange,
                      String url)

Invoked when a URL is about to be rendered or redirected to.

Parameters:
  `exchange` - the current exchange
  `url` - the URL value
Returns:
  the URL to use, possibly modified