Как обрабатывать специальный символ (например, канал) для контроллера Spring Webflux на стороне сервера?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как обрабатывать специальный символ (например, канал) для контроллера Spring Webflux на стороне сервера?

Сообщение Anonymous »

Я реализовал контроллер Spring Webflux следующим образом:

Код: Выделить всё

@GetMapping(path = "/test", produces = APPLICATION_JSON_VALUE)
public Mono getData(ServerHttpRequest serverHttpRequest) {
String param = serverHttpRequest.getURI().getRawQuery();
return Mono.just("TEST");
}
Моя цель — получить весь запрос и что-то с ним сделать. Например, если URL-адрес http://localhost:8080/test?identifier=test|code, мне нужна строка идентификатора=test|code и она передается непосредственно на другой сервер.Однако, когда я отправляю URL-адрес с каким-либо специальным символом, например трубкой (|), я получаю 400 Bad request.
Все ответы, которые я смог найти, заключались в том, что клиент должен кодировать специальный символ (для канала это должно быть %7С). Однако я хочу посмотреть, есть ли какой-либо вариант обработки на стороне сервера.
Мое приложение использует Netty вместо Tomcat (не уверен, что это полезно). Я видел кое-что о «relaxedQueryChar» в Tomcat, но не думаю, что это связано с Netty.
Как я могу справиться с этим на стороне сервера?

Подробнее здесь: https://stackoverflow.com/questions/757 ... troller-on
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»