Запрос на сопоставление в Spring при загрузке с символами в кодировке URL - PullRequest
0 голосов
/ 08 мая 2019

В моем приложении Spring Boot URL-адрес объединен со значениями, которые поступают со стороны клиента, например:

/ api / foo / {client -fined-value}} / bar /

и реальный URL может быть примерно таким:

/ api / foo / OBCH.% 20Z% C3% 81STUPCI / bar /

(не закодированное в URL значение «OBCH. ZÁSTUPCI»)

В контроллере у меня есть определение отображения запроса GET:

@GetMapping(value = "/foo/{value:[^\\/]+}/bar/")

, но отображение не найдено:

Не найдено сопоставление для HTTP-запроса с URI ...

Что я делаю не так?

1 Ответ

0 голосов
/ 08 мая 2019

Вы можете получить доступ к переменной URL, используя аннотацию @Pathvariable("client-defined-value") в качестве аргумента метода.

Примерно так:

@RequestMapping(value = "/api/foo/{client-defined-value}/bar/")
public void foo(@PathVariable("client-defined-value") String value) {
    doSomething…
}
...