본문 바로가기
웹 개발/Back End

실전! 스프링 부트와 JPA 활용2 - API 개발 기본

by L3m0n S0ju 2022. 1. 25.

 

회원 등록 API

 

https://github.com/Lemon-soju/Spring-Boot-and-JPA-toddler-practice-02/commit/7033edd5d68e19c57095dc1c582743de7899b93d

 

User Registration API · Lemon-soju/Spring-Boot-and-JPA-toddler-practice-02@7033edd

Permalink This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. Browse files User Registration API Loading branch information Showing 97 changed files with 62,356 additions and 0 deletions. +37

github.com

 

배운 것

 

1. API를 사용할 때 엔티티를 직접 사용하지 않고 DTO(Data Transfer Object)를 이용해서 엔티티를 사용해야 나중에 필드의 이름이 변경되었을 때 바로 오류가 나고 쉽게 수정할 수 있다.

 

Validation 기능도 스펙마다 사용여부가 다를 수 있으므로 엔티티에 입력하지 말고 DTO에 입력하는 것이 좋다.

 

 

 

 

 

 

 

 


 

회원 수정 API

 

https://github.com/Lemon-soju/Spring-Boot-and-JPA-toddler-practice-02/commit/83cd3057a021bdd824d7c982c8aed3d10cfe74d9

 

Merge pull request #1 from Lemon-soju/slave-01 · Lemon-soju/Spring-Boot-and-JPA-toddler-practice-02@83cd305

User Update API

github.com

 

커맨드와 쿼리는 분리해야 유지 보수가 쉽다. 여기서 커맨드, 쿼리란 커맨드 -> Update, 쿼리 -> Select문

 

 

 

 

 

 

 

 

 


 

회원 조회 API

 

https://github.com/Lemon-soju/Spring-Boot-and-JPA-toddler-practice-02/commit/a21078798e668b9609083c9a32d48e0b9bc8a4e5

 

Merge pull request #2 from Lemon-soju/slave-01 · Lemon-soju/Spring-Boot-and-JPA-toddler-practice-02@a210787

User Lookup API

github.com

 

배운 것

 

1. 실무에서는 같은 엔티티에 대해 API가 용도에 따라 다양하게 만들어지므로 한 엔티티에 각각의 API를 위한 프레젠테이션 응답 로직을 담기는 어렵다. 그리고 엔티티가 변경되면 API 스펙이 변한다. 

 

2. Dto를 이용해서 타입을 한번 바꿔주고 리스트인 경우 Json 괄호안에 넣는 함수를 이용해서 이후 유지 보수가 가능하도록 설계한다.

댓글