🔥 현재상황
- REST API 과제 제출 공유
📁 팀원들에게 공유하고 싶은 부분
- 로그인 기능 구현 공유(Interceptor, HttpSession)
- Interceptor는 dispatcherServlet과 Controller에서 역할을 하게 되는데, 컨트롤러에 요청이 오기 전, 후 등에서 특정 로직을 수행하게 할 수 있음. ex) 세션 ID값이 있는지
- BindingResult 에러핸들링
- BindingResult를 사용하면 에러가 발생할 시 model에 필드에러를 넣어줌
- BaseEntity
- 추후 JPA에서 Auditing을 사용하면 생성 및 수정일자, 생성자 수정자 등등 상속을 통해 사용할 수 있음
- Item ← Book
- 나중에 Book이 아니라 다른 상품을 판매할 수 있도록 나누어 놓음
- 커스텀 익셉션을 처리할때 ExceptionType Enum 클래스를 만들어 예외 메세지와 상태코드를 사용할 수 있게하면 편하다.
❓ 팀원들이 궁금한 부분
- HttpSession을 사용하면 헤더에 설정해주는건가요?
- JSESSIONID를 쿠키에 설정해 세션이 유지되도록 해줌
- 로그인 테스트는 어떻게 하나요?
- 로그인도 REST API가 있나요?
- → 타임리프로 진행
- 주문 상태에 따라서 버튼이 나오는기능 프론트에서만 처리해도 되는지?
- 눌러도 주문상태가 취소가능한 상태가 아니면 예외를 던지도록 처리해놨음
- findById Optional로 가져와서 서비스에서 예외 던지기
- 레포에서 바로 예외 던져도 될 것 같음
- Validation이 너무 많아지면 어노테이션이 너무 많아지지 않을까?
- DTO쪽에서 검증해주고, Entity는 따로 검증메서드를 만드는 방법이 있음.
팀원들에게 궁금했던 부분
- VO들은 어느 패키지에 넣어야 적당할까요?
- 해당 도메인에서만 사용되는거라면 도메인쪽에, 다른 도메인에서도 사용되면 global에 넣으면 좋음