Search code examples
handlerspring-webfluxreactivequery-string

Reactive Spring Many Query Parameters


Tell me how to work with ServerRequest. If I need to get N parameters.

I find simple example with 1 parameter. Reactive Spring Query Parameters

request
    .getQueryParam("type")
    .map(type -> service.getAddressByType(type))
    .orElseGet(() -> service.getAllAddresses());

Solution

  • You can use getQueryParams to get N parameters as a map.

    getQueryParams() returns MultiValueMap, so you can handle query params as a map.

    Let me make small example like your code block.

    val queryParamsMap = request.queryParams() 
    queryParamsMap["type"]?.let { type -> service.getAddressByType(type) } ?: let { service.getAllAddresses() }