URI в качестве параметра в контроллере Spring возвращает ошибку при передаче специальных символов
Я создал метод в контроллере, который принимает URI в качестве параметра:
@PutMapping("/value")
public ResponseEntity<?> setValue(@RequestParam("value") URI value);
Но при передаче значений, которые содержат специальные символы, Spring кидает исключение IllegalArgumentException, которая оборачивается в TypeMismatchException, и соответственно возвращает ошибку 400 Bad Request. Пример значения: 1234245!№%25@. Запрос отправляю через Postman.
По-видимому, ошибка происходит при создании URI, поскольку в конструктор приходит значение 1234245!№%@ (декодированное). По крайней мере, при замене URI на String я вижу значение 1234245!№%@.
Есть ли какой-нибудь способ сделать так, чтобы Spring нормально создавал URI с специальными символами?