728x90
반응형
✔️ To do
- [사이드] IT 행사 아카이빙 프로젝트 - API 포맷 변경 (소라님 요청)
- [사이드] Event Request DTO @Valid 적용
- [독서] 토비의 스프링 3 - 8.1 스프링의 정의 / 8.2 스프링의 목적
Mon
🎉 IT 행사 아카이빙 프로젝트
- 작업 내용
- 아래 에러처리 글 참고하여 에러처리 개발 중
- 이슈
- 에러를 전역 에러핸들러에 보내면 거기서 에러가 난다.. 머선일이고?.. 내일 해결해야지 ㅠㅠ
ExceptionHandlerExceptionResolver : Failure in @ExceptionHandler
- 에러를 전역 에러핸들러에 보내면 거기서 에러가 난다.. 머선일이고?.. 내일 해결해야지 ㅠㅠ
- 참고글 👀
- git 초보를 위한 풀리퀘스트(pull request) 방법 https://wayhome25.github.io/git/2017/07/08/git-first-pull-request-story/
- springboot 에러처리
Tue
🎉 IT 행사 아카이빙 프로젝트
- 에러핸들러에서 나타나는 에러 해결
→ 블로그 포스팅 완료 ✍🏻 https://yuja-kong.tistory.com/entry/Spring-Boot-ExceptionHandler-적용-시-HttpMediaTypeNotAcceptableException-에러-해결작업 내용 - 어제 끙끙 앓던 이슈가 해결됐다!!!! 아래 엄청난 주석들.. 고뇌의 흔적.. 결론은 ErrorResponse 객체에 @Getter 어노테이션을 줘서 해결되었다. 대체 안쓰면 에러가 난거지?? 도저히 모르겠음..
- 에러핸들러에서 나타나는 에러 해결
- 테스트 한것들
- 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
📑 업무
- 웹폰트 적용 관련 글 https://wit.nts-corp.com/2017/02/13/4258
📚 개발 독서 - 토비의 스프링3
- 8.1 스프링의 정의
🎉 IT 행사 아카이빙 프로젝트
- 작업 내용
- IT 행사 아카이빙 프로젝트 - API 포맷 변경 (소라님 요청) - 진행 중
Thu
🎉 IT 행사 아카이빙 프로젝트
- 작업 내용
- IT 행사 아카이빙 프로젝트 - API 포맷 변경 (소라님 요청) - 완료
- 프론트에서 배열에 들어있는 목록형태로 데이터를 응답해줬으면 좋겠다고 하였다. js에서는 객체구조를 휙만들어서 슉넣으면 짜잔하고 빠르게 구조가 만들어지는데 java는 class 구조도 맞춰야하고 넘 까다롭다.. 그래도 Jackson이 있어서 Object↔Json변환이 쉬우니까 망정이지 .. 짹쓴 고마워.. 😉
(postman으로 API 스펙도 이쁘게 쫙 뽑아냈다. 정갈하니 좋구만 ㅎㅎ)
- 프론트에서 배열에 들어있는 목록형태로 데이터를 응답해줬으면 좋겠다고 하였다. js에서는 객체구조를 휙만들어서 슉넣으면 짜잔하고 빠르게 구조가 만들어지는데 java는 class 구조도 맞춰야하고 넘 까다롭다.. 그래도 Jackson이 있어서 Object↔Json변환이 쉬우니까 망정이지 .. 짹쓴 고마워.. 😉
- 지난 번 Response객체 에러났던 Error속Error의 해결방법이었던 Getter.. 왜 Getter가 필요한지 확실한 원인 파악 완료!
- → 짹쓴.. 너를 몰라봐서 미아내... 내가 열심히 공부해줄게 짹쓴 ㅠ0ㅠ.. (혼자난리부르스 ㅎㅎ...)
- 블로그에 추가 내용 삽입 완료 ✍🏻 https://yuja-kong.tistory.com/entry/Spring-Boot-ExceptionHandler-적용-시-HttpMediaTypeNotAcceptableException-에러-해결
- IT 행사 아카이빙 프로젝트 - API 포맷 변경 (소라님 요청) - 완료
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'"
- Enum 유효값 체크에서 막혔다. @NotBlank 적용하고 적절한 값 넣었는데 아래처럼 에러 난다.
- 참고글 👀
- @Valid 적용 방법 https://jyami.tistory.com/55
- Enum 검증 https://velog.io/@hellozin/Annotation으로-Enum-검증하기
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 |