HTTP는 메시지를 주고(Request) 받는(Response) 형태의 통신 방법이다.
TCP를 기반으로 한 REST의 특징을 모두 구현하고 있는 Web 기반의 프로토콜이다.
HTML, SML, JSON, IMAGE, PDF 등 컴퓨터에서 다룰 수 있는 것은 모두 전송할 수 있다.

HTTP의 요청을 특정하는 8가지 Method가 존재한다.
REST를 구현하기 위한 인터페이스 이니 알아둬야 한다.

RestController : REST API 설정
RequestMapping : 리소스 설정

GetMapping : Get 리소스 설정
RequestMapping : method = Get 리소스 설정

PathVariable : URL Path Variable Parsing

RequestParam : URL Query Parameter Parsing

dto를 생성하여 필드를 정의하고 dto 객체를 받는 방법을 많이 사용한다.
(@RequestParam 어노테이션은 붙이지 않는다.)

RestController : REST API 설정
RequestMapping : 리소스 설정

PostMapping : POST 리소스 설정

RequestBody : Request Body 부분 Parsing
dto를 생성하여 필드를 정의하고 dto 객체를 받는다.

JsonProperty : json naming

JsonNaming : class json naming
PathVariable : URL Path Variable Parsing
RestController : REST API 설정
RequestMapping : 리소스 설정

PutMapping : PUT 리소스 설정
RequestBody : Request Body 부분 Parsing
PathVariable : URL Path Variable Parsing

JsonNaming : class에 json naming. Naming 전략을 이용해 직렬화 가능.
SnakeCaseStrategy : 스네이크 케이스 전략. 언더바로 단어 연결. carList -> car_list

RestController : REST API 설정
RequestMapping : 리소스 설정

DeleteMapping : DELETE 리소스 설정
RequestParam : URL Query Parameter Parsing
PathVariable : URL Path Variable Parsing

응답의 상태를 나타내는 코드

자주 사용되는 코드

ResponseEntity : Body의 내용을 Object로 설정 상황에 따라서 Http Status Code 설정

ResponseBody : RestController가 아닌 곳(Controller)에서 Json 응답을 내릴 때

String : 일반 Text Type 응답
Object : 자동으로 Json 변환되어 응답 상태값은 항상 200 OK