ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • RESTFul HiddenMethod 활용
    RESTFul 2016. 9. 25. 18:46

    HiddenMethod의 활용


    브라우저에 따라서 PUT, PATCH, DELETE 방식을 지원하지 않는 경우가 발생할 수 있습니다.

    많은 브라우저가 GET, POST 방식만을 지원하기 때문에 REST 방식을 제대로 사용하려면 브라우저가 지원하지 않는

    상황에 대해서 고려해야만 합니다.


    대부분의 해결책은 브라우저에서 POST 방식으로 전송하고, 

    추가적인 정보를 이용해서 PUT, PATCH, DELETE와 같은 정보를 같이 전송하는 것입니다.

    이를 Overloaded POST 라고 합니다


    ex) 

    headers : {


    "X-HTTP-Method-Override" : "DELETE"

    }



    <form> 태그를 이용해서 데이터를 전송하는 경우에는 POST 방식으로 전송하되,  '_method'라는 추가적인 정보를 이용합니다.

    스프링은 이를 위해서 HiddenHttpMethodFilter 를 제공하는데 <input type="hidden" name="_method" vlaue="PUT"> 과 같은 형태로 사용해서 GET/POST 방식만을 지원하는 브라우저에서 REST 방식을 사용할 수 있도록 설정할 때 사용됩니다.


    web.xml의 필터 설정 추가


    <filter>

    <filter-name>hiddenHttpMethodFilter</filter-name>

    <filter-class>org.springframework.web.filter.HiddenHtpMethodFilter</filter-class>

    </filter>

    <filter-mapping>

    <filter-name>hiddenHttpMethodFilter</filter-name>
    <url-pattern>/</url-pattern>

    </filter-mapping>



Designed by Tistory.