Как обрабатывать escape-символы (pipe |) в URL (Spring, REST, CXF)?

Я использую Spring, CXF, Tomcat для разработки веб-сервисов.

У меня проблема с отправкой символов, таких как трубы (|) в URL?

Например:http://localhost:9080/address/v1/countries/\|

выдает ошибку 500, есть ли способ справиться с ней и выбросить специальный код ошибки, например 404 или даже 400?

Я попытался установить URIEncoding = "UTF-8" для объекта коннектора в server.xml в tomcat. Но это не исправило это.

Я также попытался добавить сопоставление фильтра в файле web.xml в моем приложении следующим образом:

<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

Может кто-нибудь указать мне, каким образом такие URI могут возвращать пользовательский код ошибки и сообщение?

Ответы на вопрос(2)

Ваш ответ на вопрос