В Spring Webflux, когда я читаю тело POST и пытаюсь работать с ним, это всегда приводит к IllegalStateException из заголовка.
Здесь код:
@Bean
public RouterFunction<ServerResponse> selectByPost(SasoSecurityFacade solrHandler) {
return RouterFunctions.route(RequestPredicates.POST("/v1/{collection}/select")
.and(RequestPredicates.accept(MediaType.APPLICATION_JSON)), request -> request.bodyToMono(String.class)
.flatMap(s -> {
System.out.println(s);
return ServerResponse.ok()
.syncBody(s);
}));
}
Также важен (как выясняется) запрос к серверу:
curl 'https://<myserver>:9443/v1/banana-int/select' -H 'Pragma: no-cache' -H 'Origin: https://<myserver>:9443' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36' -H 'Content-type: application/x-www-form-urlencoded' -H 'Accept: application/json, text/plain, */*' -H 'Cache-Control: no-cache' -H 'Referer: https://<myserver>:9443/banana/src/index.html' -H 'Connection: keep-alive' -H 'DNT: 1' --data 'q=*:*&rows=20&wt=json' --compressed
Что я делаю не так?Как я могу отладить это?Кто еще читает мое сообщение, чтобы я получил это сообщение об ошибке?