반응형
📚 KEYWORD
- @ResponseBody 역직렬화 원리
🤔 THINK
Q. 컨트롤러 분리하는 이유
모든 컨트롤러의 역할을 한 개의 컨트롤러가 하게 된다면
에러가 1개만 발생하더라도 컨트롤러가 작동을 하지 못하게 되므로
Controller -> ProductController, MemberController ...
이런 식으로 도메인별로 분리를 하는 게 좋다 👍🏻
Q. @RequestBody 를 사용하여 데이터를 넘겨줄 때 왜 객체로 넘겨줄까?
- 보내야 할 파라미터가 10개면 10개 따로따로 보내야 하는 귀찮음을 덜 수 있다.
- 객체를 생성하여 setter 등에서 값을 검증해서 잘못된 데이터를 보낼 가능성이 적어진다.
💬 ETC
리팩토링
= 클린 코드 만드는 방법
1. 모든 클래스에서 같은 의미를 가지는 동사는 통일
2. 명명법 : 이 클래스(계층이 누구에게 가까운지)
- Controller : Client(user)를 위해서 명명
- Service : 비즈니스 로직 - Client(user)를 위해서 명명 (해도 되고 시스템을 좀 더 위해서 해도 괜찮다)
- Repository : DB를 위해서 명명
ex. 조회 API
- Controller : 상품 정보를 '찾는다' find / 정보를 '출력한다' print / 데이터를 '얻는다' get
- Repository : 원하는 데이터를 '찾는다' find > 갖는다 'get'
ex. 등록 API
- Controller : register > save > create
- Service : register > save > create
- Repository : create > save
반응형
'기타 > TIL' 카테고리의 다른 글
[TIL] 24.09.04 (0) | 2024.09.05 |
---|---|
[TIL] 24.05.07 (0) | 2024.05.08 |
[TIL] 24.05.02 (0) | 2024.05.02 |
[TIL] 24.04.30 (0) | 2024.05.02 |
[TIL] 24.04.29 (2) | 2024.04.30 |