REST API
REST(Representational State Transfer)
HTTP Method
서버와 클라이언트 간 데이터 통신 방법 중 HTTP 프로토콜을 사용할 시, REST방식의 전송 프로토콜을 사용함.
GET → query의 SELECT와 같음.
POST → query의 INSERT와 같음.
PUT → query의 UPDATE와 같음.
DELETE → query의 DELETE와 같음.
@controller & @service
Server 안에서 두 가지 요소로 기능이 분리 되어 구동.
@controller
기능 : 서버의 앞단에 위치하며 client와 통신의 최전선에 위치함. 데이터를 단순 가공하여 client의 요청 또는 전달 처리함.
사용되는 데이터 객체 타입 : DTO
@service
기능 : 서버의 뒷단에 위치하며 controller를 통해 요청 또는 전달 받은 데이터를 처리하며 비즈니스 로직을 작성함.
사용되는 데이터 객체 타입 : Entity
→ DTO를 인자로 받아 비즈니스 로직에 따라 데이터 가공 후, Entity 객체로 변환.
DTO
controller단에서 사용되는 객체로 client에 request 또는 response에 해당하는 데이터는 모두 DTO 객체로 처리함.
특징
Entity
service단에서 사용되는 객체로 database table과 1:1로 매칭되는 객체임. db 접근을 하기 위해서는 모두 Entity 객체 형태로 처리해야함.
특징
주의사항
DAO
service단에서 사용되는 interface로 database query 기능 리스트를 정의함.
특징
Repository
service단에서 사용되며 database 쿼리 정의 및 database 접근 가능.
특징
@GetMapping
Controller 단에서 사용되는 태그이며 GET 요청에 대한 처리를 위해 사용함.
GET 요청에 대한 API를 정의하며 해당 API로 들어온 요청에 대한 처리.
@PostMapping
Controller 단에서 사용되는 태그이며 POST 요청에 대한 처리를 위해 사용함.
POST 요청에 대한 API를 정의하며 해당 API로 들어온 요청에 대한 처리.
@Getter, @Setter, @ToString
객체의 데이터를 가져오거나 변경할 때 getter와 setter를 사용.
기존 JAVA에서는 getter, setter 선언을 변수마다 해줘야했지만, lombok 라이브러리를 통해 getter, setter 태그를 통해 해당 번거로움을 줄일 수 있음.