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
    Modifier and Type | Method and Description
    --- | ---
    `Map<String,String>` | `getExtraHiddenFields(ServerWebExchange exchange)` Invoked after all form fields have been rendered.
    `String` | `processAction(ServerWebExchange exchange, String action, String httpMethod)` Invoked when a new form action is rendered.
    `String` | `processFormFieldValue(ServerWebExchange exchange, String name, String value, String type)` Invoked when a form field value is rendered.
    `String` | `processUrl(ServerWebExchange exchange, String url)` Invoked when a URL is about to be rendered or redirected to.

- - ### Method Detail

    - #### processAction

          String processAction(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(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(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(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