2018년 4월 13일 금요일

Spring 에서 HTTP Protocol(GET,POST,PUT,DELETE) 사용하기

Spring 에서 HTTP Protocol 설정

  • 브라우저에서는 get, post만 사용할 수 있다.(@GetMapping, @PostMapping)
    하지만 hidden 태그와 Spring HiddenHttpMethodFilter를 통해 @PutMapping, @DeleteMapping 을 사용할수 있다.
    • GET(@GetMapping)
      • GET 방식은 HTTP 헤더에 값을 담아서 보낸다. 그래서 용량이 제한이 있다.
    • POST(@PostMapping)
      • POST방식은 HTTP body에 담아서 보낸다.
      • 등록할때 사용한다.
    • PUT(@PutMapping)
      • 수정할때 사용한다. HTTP body에 담아서 보낸다.
      • post방식으로 설정에 필터를 추가하고 input hidden을 만들고 put 값을 넣은후 요청한다.
      • 
        <form method="post" action="update">
            name : <input type="text" name="name">
            <input type="hidden" name="_method" value="put">
            <input type="submit">
        </form>
        
        
        <filter>
            <filter-name>httpMethodFilter</filter-name>
            <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
          </filter>
          <filter-mapping>
            <filter-name>httpMethodFilter</filter-name>
            <url-pattern>/*</url-pattern>
          </filter-mapping>
        
    • DELTE(@DeleteMapping)
      • 삭제할때 사용한다. HTTP body에 담아서 보낸다.
      • post방식으로 설정에 필터를 추가하고 input hidden을 만들고 delete 값을 넣은후 요청한다.
      • 
        <form method="post" action="delete">
            name : <input type="text" name="name">
            <input type="hidden" name="_method" value="put">
            <input type="submit">
        </form>
        
        
        <filter>
            <filter-name>httpMethodFilter</filter-name>
            <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
          </filter>
          <filter-mapping>
            <filter-name>httpMethodFilter</filter-name>
            <url-pattern>/*</url-pattern>
          </filter-mapping>
Share:

0 개의 댓글:

댓글 쓰기