복붙노트

[SPRING] URL (Spring, REST, CXF)에서 이스케이프 문자 (파이프 |)를 처리하는 방법?

SPRING

URL (Spring, REST, CXF)에서 이스케이프 문자 (파이프 |)를 처리하는 방법?

웹 서비스 개발을 위해 Spring, CXF, Tomcat을 사용하고 있습니다.

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>

어떤 사람이 이런 종류의 URI가 사용자 정의 오류 코드와 메시지를 반환 할 수있는 방법을 알려줄 수 있습니까?

해결법

  1. ==============================

    1.url 인코딩에 대해서는 여기를 참조하십시오. Sachin | Tendulkar를 보내고 싶다고 가정 해 봅시다. Sachin % 7CTendulkar로 보낼 수 있습니다.

    url 인코딩에 대해서는 여기를 참조하십시오. Sachin | Tendulkar를 보내고 싶다고 가정 해 봅시다. Sachin % 7CTendulkar로 보낼 수 있습니다.

  2. ==============================

    2.예. % 7C는 URL에서 사용해야하는 PIPE 문자입니다. 다음은 내가 성공적으로 사용한 또 다른 예입니다. 이웃 이름은 ROOT % 7CRESTFUL로 표현되는 "ROOT | RESTFUL"입니다

    예. % 7C는 URL에서 사용해야하는 PIPE 문자입니다. 다음은 내가 성공적으로 사용한 또 다른 예입니다. 이웃 이름은 ROOT % 7CRESTFUL로 표현되는 "ROOT | RESTFUL"입니다

  3. from https://stackoverflow.com/questions/21940826/how-to-handle-escape-characters-pipe-in-url-spring-rest-cxf by cc-by-sa and MIT license