복붙노트

[SPRING] 봄과 HTTP 옵션 요청

SPRING

봄과 HTTP 옵션 요청

이 질문에 후속으로, 봄 3 mvc 응용 프로그램에서 OPTIONS 요청을 처리하는 방법을 궁금해.  스프링 코드의 모든 끝점에 대해 옵션 처리 메서드를 작성하고 싶지 않습니다. 그러나 옵션 처리기를 "/ **"에 매핑하는 제안은 이미 처리기가없는 종단점에서만 작동합니다.

그래서 크로스 사이트 액세스 물건을 처리하기 위해 OPTIONS 요청을 가로 채기 위해 mvc 인터셉터를 사용하는 방법에 대해 생각했습니다. 그러나 이것이 이것이 최선의 방법이라고 상상할 수는 없습니다. 동일한 경로에 다른 요청 메소드가있는 다중 핸들러와 같은 다른 옵션이 있습니까? 내 감정은 이것이 실제로 작동해야한다고 말한다. (그러나 그렇지 않다)!?

해결법

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

    1.네이티브 Spring 지원은 Spring 4 (Maybe)에 대해 지원됩니다.

    네이티브 Spring 지원은 Spring 4 (Maybe)에 대해 지원됩니다.

    그러나 그 동안 나는 다음을 구현했다.

    Maven을 사용하여 (또는 수동으로)이 의존성을 끌어 낸다.

    <dependency>
        <groupId>com.thetransactioncompany</groupId>
        <artifactId>cors-filter</artifactId>
        <version>1.3.2</version>
    </dependency>
    

    이것은 모든 인바운드 OPTIONS 요청을 캡처하는 구현을 가지고 있습니다. web.xml 파일에 다음 설정을 추가합니다.

    <filter>
       <filter-name>CORS</filter-name>
       <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>       
       <init-param>
          <param-name>cors.supportedHeaders</param-name>
          <param-value>Content-Type,Accept,Origin</param-value>
       </init-param>
    </filter>
    
    <filter-mapping>
       <filter-name>CORS</filter-name>
       <url-pattern>/*</url-pattern>
    </filter-mapping>
    

    / ** 접근법에서 본 문제는 좀 더 구체적입니다. 컨트롤러 구현이이 문제를 무시할 것입니다.

  2. from https://stackoverflow.com/questions/11096195/spring-and-http-options-request by cc-by-sa and MIT license