Como lidar com caracteres de escape (pipe |) no URL (Spring, REST, CXF)?

Estou usando o Spring, CXF e Tomcat para desenvolver serviços da web.

Tenho um problema ao enviar caracteres como pipes (|) na URL?

Por exemplo:http://localhost:9080/address/v1/countries/\|

gera um erro 500, existe uma maneira de lidar com isso e lançar um código de erro personalizado como 404 ou mesmo 400?

Tentei definir o URIEncoding = "UTF-8" no objeto de conector no server.xml no tomcat. Mas não foi corrigido.

Eu também tentei adicionar mapeamento de filtro no web.xml no meu aplicativo como este: -

<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>

Alguém pode me indicar de que maneira esses tipos de URIs podem retornar um código de erro personalizado e uma mensagem?

questionAnswers(2)

yourAnswerToTheQuestion