seong

Mapping 메서드(2) 데이터 받기 Get, Post, Put, Delete(white프로젝트) 본문

Spring/SpringBoot

Mapping 메서드(2) 데이터 받기 Get, Post, Put, Delete(white프로젝트)

hyeonseong 2022. 8. 29. 14:38

Get  , Delete 맵핑(데이터 받기)

WHERE절에 보낼 데이터는 주소로 보낸다

  • Get은 HTTP에서 Header에 담아 보낸다 -> Body가 없다.
  • HTTP 에서 QueryString  방식으로 전달 : 주소 뒤 ? 붙인다.( DB의 WHERE 절에 PK가 아닐 경우)
  • PathVariable으로 파라미터 값 전달 (WHERE DB의 PK값을 전달할 때 사용 한다.)
  • Form태그 방식도 가능
  • Get와 Delete는 DB의 데이터를 SELECT, DELETE 할때 사용한다

POST (INSERT), PUT (UPDATE) 맵핑

  • HTTP의 Body에 담아 보낸다.
  • Form 태그 방식도 가능
  • JS방식으로도 가능
  • POST와 PUT은 DB의 데이터에 INSERT, UPDATE 할때 사용 한다.

Get - @PathVariable 방식 (PK이라고 가정)  

RestController을 사용한 이유는 return 값이 데이터 이기 때문이다. 만약 jsp,html등의 파일이라면 Controller을 사용한다. 

코드

 

결과

Get - QueryString 

HTTP의 주소 뒤에 QueryString 방식으로 2개의 값을 전달 해주었다.

결과 값 정상 출력(Postman의 Params에도 값 줘서 사용 가능)

Get의 body데이터가 없음을 증명

Get 방식의 Body에서 보면 Key, Value값을 전달 해주었지만 출력 값에는 Null이라는게 확인 된다, 

즉 Get에는 Body에 데이터를 담을수 없다 .

body는 없기 때문에 null

QueryString는 x-www-form ~ 타입이다. 

Post 맵핑 - INSERT

임의로 Body에 Key, Value값 전달하고 데이터 전달.

데이터를 정상적으로 받았다.

헤더에 담긴 내용들 확인 

결과

데이터 타입을 알려주지 않으면 전달을 했더라도  파싱을 할 수 없어 값을 받을 수 없다. 

타입은 x-www-form ~ 타입이다.

Put 맵핑 - UPDATE

결과

 

Delete 맵핑

결과

마지막으로 기억할 것

HTTP에서 기본 Content -Type x-www-form-urlencoded 이다.