https://github.com/f-lab-edu/daangn-market-used-trading/issues?q=is%3Aissue+is%3Aclosed
=====
@Builder : Member.builder() 라면 Member 엔티티의 생성자에 @Builder
( 추가 : 클래스에 @Builder 시 모든 필드 넣는 빌더, 특정 필드 가지는 생성자에 @Builder 시 그 필드 넣는 빌더 )
=====
@LoginRequired 만든 후 LoginInterceptor 에서 적용
- PreHandle (HttpServletRequest request, HttpServletResponse response, Object handler)
그냥 implements HandlerInterceptor 해라 ( 인터셉터는 컨트롤러 전에 작동 )
이거 구현하고 필요한 메서드 구현해라 ( default라 필수구현아님 )
인터셉터가 True를 반환하면 통과 ( 어노테이션 붙은 메서드 실행됨 )
( 전체적인 흐름 : 1. 어노테이션 생성 , 2. 인터셉터에 등록 )
=====
이미 @LoginRequired 로 검증 했으므로 {id} 받을 필요 없다.
, 내 프로필 조회 이므로 my-profile로 정하자.
=====
Member member = loginService.getLoginMember() 이 반복되므로 Member member 로 받아서 ArgumentResolver(@LoginMember)를 통해 리팩토링.
커스텀 ArgumentResolver 만들기
HandlerMethodArgumentResolver 구현 후 supportsParameter, resolveArgument 오버라이드.
구현 잘 볼 것. True ( 즉, @LoginMember 있을 때만 True = 다음 코드 실행. )
WebConfig에도 등록 잊지 않기.
컨트롤러 @LoginMember 수정 ( Member member = loginService.getLoginMember() 코드반복 없앰 )
=====
여기까지함
'Code Analysis > daangn-market-used-trading' 카테고리의 다른 글
[#47] 사용자 비밀번호 변경시 예외처리 (0) | 2022.09.05 |
---|---|
[#33] 회원 엔티티 및 DTO 관련 설정 변경, [#25] 데이터베이스 이중화 적용 (0) | 2022.09.05 |
요청과 응답으로 엔티티(Entity) 대신 DTO를 사용하자 (0) | 2022.09.05 |
[#14] 거래 게시판 기능 구현 (0) | 2022.09.05 |