어떤 사람이 있는데 바구니에 쌀을 들고 창고로 걸어가고 있다.
도착을 해서 창고를 지키는 지킴이가 기다리고 있는데 지킴이한테 쌀 바구니를 주고 터프하게 돌아섰다.
지킴이가 쌀 바구니안에 뭐가 있는지 의문을 품는다.
꽁꽁 싸매져 있는 쌀 바구니를 풀어서 봤는데 밀가루인지, 보리인지 구분이 안갔는데 확인을 하고
창고안에 쌀 넣는 공간에 넣었다.
그런데 이렇게 하니 오는 사람들마다 바구니를 확인하려고 하니 힘들다.
그래서 이제부터 어떤 종류의 곡식을 가져오는지 종이에 써서 같이 달라고 한다.
이렇게 종이에 써서 안주면 되돌려 보낸다.
가져오는 사람들이 쌀 바구니와 문서를 함께 두가지를 전송한다.
여기서 쌀 바구니에 있는 쌀을 Body Data라고 하고 문서를 header라고 한다.
header에 무엇을 쓰는게 좋냐면!!!
- 무게 : 1kg
- 종류 : 쌀
- 원산지 : 진주
header 문서에는 무게,종류,원산지가 있는데 이것 말고도 여러가지가 문서에 적혀있다고 하자.
그 사이에 Content-Type이라는 것이 있는데 Content-Type에 쌀이라는 것이 있는 것이다.
http header의 Content-Type을 정확히 알고 넘어가보자!!!
body data를 전송할때 Content_Type을 명시를 해서 전달을 해야 받는 쪽에서 일을 수월하게 할 수 있다.
Content-Type이 http header에 프로토콜로 존재한다.(PUT과 POST일때 무조건 있어야 한다.)
GET과 DELETE 요청일때는 body data가 없기 때문에 Content-Type이 필요로 하지 않는다.
스프링부트는 기본적으로 x-www-form-urlencoded가 있다.
데이터를 들고오면 x-www-form-urlencoded 타입이라고 인식을 하고 데이터를 파싱을 한다.
plain/text와 application/json말고도 엄청나게 많은 것이 있다.
이러한 형식으로 데이터가 들어오게 된다!!!
- x-www-form-urlencoded -----> key = value
- plain/text -----> 안녕
- application/json -----> {"username" : "cos"}
ㄴ applcation/json 형태로 데이터를 받으려면 Content-Type에
applcation/json이라고 명시를 해줘야 스프링이 이해를 한다.
JSON의 상세한 내용은 아래의 링크를 통해 알 수 있다!!!
https://www.youtube.com/watch?v=olaeVwjx3J8
'인스타그램(Springboot,JPA,Security,Oauth)' 카테고리의 다른 글
(14) 스프링부트 Controller - JSON 응답하기 (0) | 2023.02.25 |
---|---|
(12) 스프링부트 Controller - 쿼리스트링, 주소변수매핑 (0) | 2023.02.25 |
(11) 스프링부트 Controller - http 4가지 요청 방식 (0) | 2023.02.25 |
(10) 스프링부트 Controller - 기본 동작방식 이해하기 (0) | 2023.02.25 |
(9) 환경설정 - yml 파일 이해하기 (0) | 2023.02.24 |