본문 바로가기

TIL & 회고

[TIL] 2021년 3월 3째주 (21.3.15~21.3.21)

728x90
반응형

✔️ To do

  • [사이드] IT 행사 아카이빙 프로젝트 - API 포맷 변경 (소라님 요청)
  • [사이드] Event Request DTO @Valid 적용
  • [독서] 토비의 스프링 3 - 8.1 스프링의 정의 / 8.2 스프링의 목적

Mon


🎉 IT 행사 아카이빙 프로젝트

Tue


🎉 IT 행사 아카이빙 프로젝트

  • 테스트 한것들
    • timestamp 필드 제거해보기 → 실패
    • ResponseEntity status만 있는 리턴으로 바꿔서 되나 확인 → 통과. Response 리턴 관련해서 무언가 문제라는 것.
    • 에러 내용 찾아봤는데 자꾸 `MappingJackson2HttpMessageConverter` 문제 라고 함.. → 보류 사실 잘 안써봐서 모르기도 하고 Controller에서는 정상으로 Json 잘 리턴했었는데 갑자기 Jackson이 제대로 등록 안되어있다는 게 이상했다. 했다가 코드 꼬일거같아서 시도하지 않음 ㅎㅎ;;
    • 에러처리 전에 성공버전으로 만들었던 JsonResponse를 리턴으로 줘봤다. → 통과 ?!!!!
    • 원인은 @Getter 아니 JsonResponse 는 에러 정상리턴되고 ErrorResponse 는 웨않되...? 완전 둥절해서 벙쪘다가 찬찬히 둘 코드를 비교했음. 들어있는건 각자에 맞는 필드랑 생성자 메서드뿐인데 다를게 뭐지.. 하다가 위에 롬복어노테이션 발견. JsonResponse는 @Getter, @Setter 붙어있었고, ErrorResponse는 @Builder 를 쓰고있었다. 결론적으로 저 어노테이션 별로 다 테스트해보니 @Builder와 @Setter는 상관없고 **@Getter** 만 있으면 동작했다. 일단 해결은 했는데 Getter 메서드를 왜필요로하는건지 잘 모르겠다. 휴..ㅠㅠ
  • 에러 내용 (참고)
    ExceptionHandlerExceptionResolver : Failure in @ExceptionHandler com.itevent.iteventapi.common.error.ControllerExceptionHandler#handleIllegalArgumentException org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation

Wed


📑 업무

📚 개발 독서 - 토비의 스프링3

  • 8.1 스프링의 정의

🎉 IT 행사 아카이빙 프로젝트

  • 작업 내용
    • IT 행사 아카이빙 프로젝트 - API 포맷 변경 (소라님 요청) - 진행 중

Thu


🎉 IT 행사 아카이빙 프로젝트

  • 작업 내용
    • IT 행사 아카이빙 프로젝트 - API 포맷 변경 (소라님 요청) - 완료
      • 프론트에서 배열에 들어있는 목록형태로 데이터를 응답해줬으면 좋겠다고 하였다. js에서는 객체구조를 휙만들어서 슉넣으면 짜잔하고 빠르게 구조가 만들어지는데 java는 class 구조도 맞춰야하고 넘 까다롭다.. 그래도 Jackson이 있어서 Object↔Json변환이 쉬우니까 망정이지 .. 짹쓴 고마워.. 😉
        (postman으로 API 스펙도 이쁘게 쫙 뽑아냈다. 정갈하니 좋구만 ㅎㅎ)
    • 지난 번 Response객체 에러났던 Error속Error의 해결방법이었던 Getter.. 왜 Getter가 필요한지 확실한 원인 파악 완료!

Fri


📑 업무

  • 페이지 로딩 후 모달 팝업 띄우기
    • 퍼블리싱 작업
      • 쿠키 없는 경우 팝업 오픈
      • 오늘하루보지않기 클릭(체크) 시 쿠키 생성되어 1일 간 팝업 미노출 (이후 쿠키 삭제됨)'오늘하루보지않기' 기능 적용 (브라우저 쿠키 값 기반)

📚 개발 독서 - 토비의 스프링3

  • 8.2 스프링의 목적

🎉 IT 행사 아카이빙 프로젝트

  • 작업 내용
    • Event Request DTO 클래스 @Valid 적용 중
  • 이슈
    • Enum 유효값 체크에서 막혔다. @NotBlank 적용하고 적절한 값 넣었는데 아래처럼 에러 난다.
      "javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.NotBlank' validating type 'com.itevent.iteventapi.modules.event.EventCreateType'. Check configuration for 'eventCreateType'"
  • 참고글 👀

SAT


SUN


🎉 IT 행사 아카이빙 프로젝트

  • 작업 내용

      • enum 클래스마다 @jsonCreator 적용, Validator 클래스 생성하여 Controller @InitBinder 로 적용Event Request DTO 클래스 @Valid 적용 1차 완료

      • 행사 생성 에러 테스트

      • → 일단 현재 이벤트 생성 필드 관련 필수적인 에러 처리는 완료하였다. 근데 heroku 올리니까 에러가 저렇게 영어로 나옴.. 뭔가 java 나 프로젝트의 언어 설정이 local과 다른건가? 로직처리는 같으므로 일단 패스..

  • 참고글 👀

728x90
반응형

'TIL & 회고' 카테고리의 다른 글

[TIL] 2021년 3월 회고록  (2) 2021.04.03
[TIL] 2021년 3월 4째주 (21.3.22~21.3.28)  (0) 2021.03.29
[TIL] 2021년 3월 1째주 (21.3.1~21.3.7)  (0) 2021.03.08
[TIL] 2021년 2월 회고록  (0) 2021.03.01
[TIL] 20.10.29  (0) 2020.10.30