콘텐츠로 이동

2021 05 25

2021-05-25

지하철 경로 조회 피드백 모음

  • 도메인이 스스로 패스워드(필드) 일치 여부를 판단할 것 (메시지 보내기)
  • ResponseEntity에 반환 타입이 없다면 Void를 넣을 것
  • 토큰에 넣는 사용자 정보는 민감한 정보가 아니여야 함 - 이메일 같은 경우 사용자의 민감한 정보일 수 있음 - 그런데 토큰에 정보가 너무 부족하면 인가시 마다 DB 찌를 수도 있어 - TradeOff 고려하여 정보를 담고, 만료기간 생각해볼 것
  • Dao에서 CRUD 구현시 메서드 오버로딩 보단 명시적인 네이밍이 좋음 - ex. deleteMember(Long id), deleteMember(String email) <<< deleteById(Long id), deleteByEmail(String email)
  • ArgumentResolver는 토큰에서 필요한 정보 추출해 필요한 파라미터 넘기는 용도로,
    Interceptor는 토큰 검증에 대한 로직을 수행하는 용도로 사용해보자.
  • CustomException을 만들 때에는 알맞은 Layer의 Exception을 상속받아 구현하자 - CustomException의 Error 메시지에는 필요한 필드값을 명시해줘도 좋다 - ex. 에러난 Member의 Email 정보 - RuntimeException 말고 더 명시적인 Exception을 상속하자 - 그러면 그냥 그 명시적인 거 쓰는게 낫지 않아...?
  • @ResponseStatus 보다는 @ExceptionHandler를 통해 예외를 잡고 ResponseEntity를 반환해주자
  • Service가 비대해지기 전에 Domain으로 분리될 수 있는지 확인해보자 - Service가 Domain 로직을 가지지 않게 하자!
  • 테스트여도 명시적으로 데이터를 작성할 것
  • @ExceptionHandler는 배열을 받을 수 있으니, 같은 행동을 하는 여러개의 @ExceptionHandler가 있다면 배열 도입을 고려해보자
  • ResponseEntity.ok().body("^^"); ---> ResponseEntity.ok("^^");
  • 느낀점 - 예외처리에 대해 너무 모른다... - 자바가 제공해주는 예외들도 조금 공부해보자 - Layer별 Exception 공부해보자 - 어디에서 예외처리해주는 것이 좋은 것인지 연구해보자