Spring requestMapping принимает% 2f в requestParam как косую черту (/) - PullRequest
0 голосов
/ 04 сентября 2018

Токены создаются сторонним сервисом.
Иногда эти токены включают %2F как 0Tqn66huZhfX%2Fft7nPnCj1Id

Я пишу оболочку для этого сервиса и использую пружинный упор.

Когда я отправляю токен с %2F в пружинный контроллер как @RequestParam, он обрабатывает %2F как / символ,

0Tqn66huZhfX%2Fft7nPnCj1Id становится 0Tqn66huZhfX/ft7nPnCj1Id.

Я должен отправить этот токен на другой сервер, как показано ниже.

http://example.com/{token}/{otherVariable}

Когда пружина получает %2F как /, она нарушает формат URL.

Что я могу сделать, чтобы получить значение токена с %2F без его преобразования в /?

1 Ответ

0 голосов
/ 12 сентября 2018

Браузеры будут кодировать URL в зависимости от используемого набора символов. мы можем предотвратить с помощью JS ... и т. д.

решение: перед отправкой запроса закодируйте этот URL, используя:

in JS: use encodeURI(url), Эта функция кодирует специальные символы, except: , / ? : @ & = + $ # для декодирования: decodeURI(url)

...