В приложении WebFlux доступ к данным формы осуществляется через ServerWebExchange.getFormData () - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь получить доступ к телу запроса в приложении Spring Webflux, но когда я пытаюсь это сделать, я получаю следующее:

java.lang.IllegalStateException: In a WebFlux application, form data is accessed via ServerWebExchange.getFormData().

Используя этот код:

@PostMapping(value = "/in")
public ResponseEntity<?> receiveSms(@RequestBody MultiValueMap<String, String> params) {

    return ResponseEntity.ok().build();
}

Если я использую ServerWebExchange.getFormData (), я получаю пустой список параметров.

1 Ответ

0 голосов
/ 03 августа 2020

я считаю, что вы можете сделать что-то вроде:

@PostMapping(value = "/in")
public ResponseEntity<?> receiveSms(ServerWebExchange serverWebExchange) {
    return serverWebExchange.getFormData()
               .flatMap(multiValueMap -> {

                   // process multiValueMap here

               }).thenReturn(ResponseEntity.ok().build())
}
...