게시판 만들기(스프링 부트3, 나도코딩 스터디)/11장. HTTP와 REST 컨트롤러

11.1~11.2 REST API의 동작 이해하기(게시판 만들기 / 길벗 코딩 자율학습단)

coding232624 2023. 12. 1. 17:05

REST API

  • REST는 HTTP URL로 서버의 자원(resource)을 명시하고 HTTP메서드(GET, POST, PATCH/PUT, DELETE)로 해당 자원에 대해 CRUD(생성, 조회, 수정, 삭제)하는 것을 말함
  • API는 클라이언트가 서버의 자원을 요청할 수 있도록 서버 측에서 제공하는 인터페이스
  • 즉 REST API는 REST를 기반으로 API를 구현한 것

REST 컨트롤러

  • REST API로 설계된 URL 요청을 받아 처리하는 컨트롤러
  • 일반 컨트롤러가 뷰 페이지를 반환한다면 REST 컨트롤러는 JSON이나 텍스트같은 데이터를 반환함

 

REST 컨트롤러의 특징

  • @RestController 어노테이션을 통해 선언
  • 클라이언트의 데이터 조회, 생성, 수정. 삭제 요청을 HTTP 메서드에 맞게 각각 @GetMapping, @PostMapping, @PatchMapping, @DeleteMapping으로 받아 처리

 

RespinseEntity

  • REST 컨트롤러의 반환형
  • REST API의 응답을 위해 사용하는 클래스
  • REST API 요청을 받아 응답할 때 이 클래스에 HTTP 상태코드, 헤더, 본문을 실어 보낼 수 있음

 

HttpStatus

  • HTTP 상태 코트를 관리하는 클래스
  • 다양한 Enum타입과 관련된 메서드를 갖고있음
  • 상태 코드 200은 HttpStatus. OK, 201은 HttpStatus.CREATED, 400은 HttpStatus.BAD_REQUEST 등으로 관리됨