• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

User 반환값, 에러처리2개 총 3개 질문있습니다!!

21.07.27 19:38 작성 조회수 233

4

정말 너무 잘보고있습니다!!

짧지만 정말 좋았는데요...!

질문이 3개가 있습니다.

1. 이게 반환값으로 롬복 Setter가 적용된 User를 그대로 반환하고 JsonIgnore어노테이션을 붙여줬는데, 실제 프로젝트에서는 반환하는 DTO를 따로 만들고 롬복 셋터도 빼주고 빌더애들도 접근제한을 걸어주면 되는걸까요?

2. 그리고 jwt에러관련애들을 따로 패키지안에 만들어두고 각각 다른 implement를 했는데, RuntimeException을 구현(상속)받고 RestControllerAdvice로 한꺼번에 모아서 에러리스폰스를 보내줘도 되는거죠?

3. Validation에 메세지를 적었는데, 저는 json 바디에 담겨서 나올 줄 알았는데 애플리케이션 레벨에서 WARN 으로 나오는데, 서버에러 500뜨고 아무것도 안나오더라구요.. 어노테이션 메세지로 적어봤자 직접 에러객체를 만들어서 보내주지 않는 이상 Validation의 message=""는 서버개발자쪽만 보는 게 되는건가요?

+

추가로 @RequestHeader를 이용하는것도 있으면 좋을것같아요!

그리고 mockMvc로 api테스트하는것과, 인텔리J의 httpRequest 파일을 활용하는 방법도있더라구요!

포스트맨처럼 환경변수 받아서 저장하는것도있구요

강의잘봤습니다

답변 2

·

답변을 작성해보세요.

1

안녕하세요 보키님! 답변이 늦어 죄송합니다!

1. 보키님께서 적어주신데로 진행하시면 좋을 것 같습니다~! 

2. 넵 좋은 생각이십니다~!

3. valid message를 response에 담아서 보내도록 하면 좋을 것 같아요. 아래 내용을 참조해주세요 :)

 - https://github.com/SilverNine/spring-boot-jwt-tutorial/blob/master/src/main/java/me/silvernine/tutorial/handler/MethodArgumentNotValidExceptionHandler.java

 - 참고 : https://stackoverflow.com/questions/33663801/how-do-i-customize-default-error-message-from-spring-valid-validation/33665121

+ 추가로 좋은 정보 알려주셔서 감사합니다 :)

@RequestHeader는 헤더 정보를 받는 것이고, @PreAuthorize는 토큰의 권한을 검사하는 것이지요~!

보키님의 프로필

보키

질문자

2021.08.01

감사합니다~!

0

보키님의 프로필

보키

질문자

2021.07.27

+ 에 대한 내용인데 PreAuthorize도 헤더를 체크하는거같은데, @RequestHeader랑 다른점이 있다면 무엇이있는건가요?