如何在URL(Spring,REST,CXF)中处理转义字符(管道|)?

Sri*_*h K 3 java spring web-services cxf tomcat7

我使用Spring,CXF,Tomcat开发Web服务.

我在URL中发送管道(|)等字符时遇到问题?

例如: http://localhost:9080/address/v1/countries/\|

抛出500错误,有没有办法处理它并抛出自定义错误代码,如404甚至400?

我尝试在tomcat的server.xml中的连接器对象上设置URIEncoding ="UTF-8".但它没有解决它.

我也尝试在我的应用程序中的web.xml中添加filter-mapping,如下所示: -

<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>
Run Code Online (Sandbox Code Playgroud)

有人能指出我这种URI可以返回自定义错误代码和消息的方式吗?

Kar*_*sad 6

请参考这里的url编码.假设您想发送Sachin | Tendulkar.你可以发送Sachin%7CTendulkar.