1. RequestBody 매핑


2. ResponseDTO를 반환



3. ResponseEntity를 반환



4. 서비스 테스트





==> Spring Boot 설정에서 H2 디펜던시를 주입했었다.
H2는 In-Memory 데이터베이스로 로컬 환경에서 메모리상에 데이터베이스를 구축해준다.
H2를 사용하면 개발자들이 따로 데이터베이스 서버를 구축하는 데 시간을 할애할 필요가 없으므로 초기 개발시에 많이 사용한다.
==> spring-boot-stater-jpa 디펜던시
위의 코드에서 TodoRepository는 JpaRepository를 상속했다. JpaRepository는 기본적인 데이터베이스 오퍼레이션 인터페이스를 제공한다. save, findById, findAll 등이 기본적으로 제공되는 인터페이스에 해당한다. 그러므로 우리가 save 메서드를 구현하려고 'Insert into ...'와 같은 sql 쿼리를 작성할 필요가 없다.
-----
이전 스프링 부트 팀플에서는 Mybatis와 MaridDB를 사용해서 직접 다 쿼리를 작성하고 DAO와 연결하는 식으로 진행했었다.
H2와 JPA는 처음 써보는데 너무 신기하다.
JPA에서 기본제공 쿼리가 아닌 쿼리를 작성할 때는 JpaRepository를 상속받는 인터페이스에 fintByUserID(String userID) << 이렇게 작성만 해도 알아서 파싱해서 SELECT * from TodoRepository where userId = '{userId}' 와 같은 쿼리를 작성해준다는게........ 너무 신기하다.. 다들 귀찮음을 어떻게든 피해보려 이런저런거 만들어주는게 너무 재밌다 ㅎㅎ
JPA에서 더 복잡한 쿼리를 작성할 때에는 @Query 어노테이션을 사용한다고 한다.
'2021 웹개발 101' 카테고리의 다른 글
[spring boot] 백엔드 어플리케이션을 AWS의 elastic beanstalk으로 배포 (0) | 2021.12.29 |
---|---|
[Spring boot] REST API 예제 완성 후기.. (0) | 2021.12.27 |
[Spring Boot] 에러 응답 바디가 비어있을 때. (Error response body is empty in Spring Boot 2.6) (0) | 2021.12.24 |
[Spring Boot] REST API 예제: 1. CRUD 구현 (0) | 2021.12.07 |
[Spring Boot] 레이어드 아키텍처, REST API (0) | 2021.12.07 |