본문 바로가기
웹개발/Spring

[Spring Boot] 스프링부트 Http Method 매핑 방법(GETvsPOST)

by PrimeJin 2021. 8. 27.

스프링부트 (HTTP Method) 매핑 방법

이번에는 한 번쯤 제대로 짚고 넘어가야겠다고 느껴왔던 Mapping 방법들, 특히 그중에서도 

많이 쓰지만 막상 설명하려고 하면 어려웠던 GET 방식과 POST 방식에 대해서 정리해보려고 한다.

 

매핑 방식들은 중간에서 연결하는 역할을 하는 컨트롤러에서 쓰이게 되는데 이 컨트롤러 역할과 구조에 대해서는

기존에 정리해두었던 Spring MVC 패턴 글을 참고하자.

 

 

Spring MVC 패턴 패키지 구조

Spring MVC 패턴과 패키지 구조 나의 첫 포스팅이자 Spring 카테고리의 시작은 몇 달 전에 웹 개발을 Spring Boot로 처음 시작하면서 그냥 넘어 갔었던 Spring MVC 구조와 구조에 맞게 프로젝트의 패키지를

primetime.tistory.com


 

@RequestMapping

@RequestMapping(value ="/ ", method= ReqeustMethod.방식)

http 요청 방식에는 대표적으로 Get, Post, Put, Delete가 있는데 

Spring 4.3 이후부터는 @GetMapping, @PostMapping, @PutMapping, @DeleteMapping으로

위의 @RequestMapping(value ="/ ", method= ReqeustMethod.방식)을 대체하여 간단하게 쓸 수 있다.

 

 

@GetMapping  VS  @PostMapping

가장 많이 쓰이는 Get방식과 Post방식의 근본적인 차이인데 

 

Get 방식

  • 데이터를 URL 끝에 포함하는 방식이라 URL 길이에 한계가 있기 때문에 데이터 양의 제한이 있다
  • 파라미터가 URL 뒤에 노출되는 면에서 보안에 취약
  • 주로 데이터를 가져오는 SELECT 작업에 쓰임

↑GET 방식 (포스트맨 활용 테스트)

 

 

Post 방식

  • 데이터를 Http Body에 담는 방식이라 데이터 양의 제한이 없다
  • GET 방식과 달리 URL 뒤에 데이터가 노출되지 않아서 보안적인 면에서 더 낫다
  • 주로 데이터를 추가하는 INSERT 작업에 쓰임

↑POST 방식 (포스트맨 활용 테스트)

 

 

@PutMapping

주로 데이터를 수정하는 UPDATE 작업에 쓰임

 

@DeleteMapping

주로 데이터를 삭제하는 DELETE 작업에 쓰임

 

댓글