Comment gérer les caractères d'échappement (pipe |) dans l'URL (Printemps, le REPOS, CXF)?

Je suis à l'aide de Printemps, CXF, Tomcat pour le développement de services web.

J'ai un problème d'envoi de caractères tels que des pipes(|) dans l'URL?

Par exemple:
http://localhost:9080/address/v1/countries/\|

renvoie une erreur 500, est-il un moyen de le gérer et de le jeter code d'erreur personnalisée comme 404 ou même 400?

J'ai essayé le réglage de la URIEncoding="UTF-8" sur le connecteur de l'objet dans server.xml dans tomcat. Mais il n'a pas le fixer.

J'ai aussi essayé d'ajouter de filtre de la cartographie dans les web.xml dans mon application comme ceci:-

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

Quelqu'un peut-il m'indiquer de quelle façon ce genre de URI peut renvoyer un code d'erreur personnalisée et son message?

Semble que le lien ci-dessous est un sujet stackoverflow.com/questions/7176726/...

OriginalL'auteur Srikanth K | 2014-02-21