2023. 11. 17. 23:21ㆍ프로젝트_트러블슈팅
인턴 중인 회사의 회의실 예약 프로그램을 무사히 서버에 배포했고 postman으로 값이 제대로 오가는지 확인 완료!
사실 간단한 crud 개발이라 어려울 것도 없었기에 방심하고 있었는데
같이 API를 개발 하시던 분의 파트에서 문제가 발생...
예약하기 위해 데이터를 넣었는데 postman에서 값이 안들어간다고 고쳐달라라는 앱 담당자의 요청...
점심 직후에 알려주시길래 옆에 원래 담당하시던 분이 오늘중으로 해결하겠지하고 내 일을 했다.
하지만 하루가 끝나가는데도 해결을 못하고 있었던것.. 내가 분명히 컨트롤러에 어떻게 데이터 받아야하는지 다 알려줬는데 젠장...
심지어 restController에서 작업도 안하고 있었다...
알고보니 api가 뭔지도 모르는 눈치
그래서 그냥 포기하고 내가 해야겠다 싶어서 작업시작
오늘은 금요일 퇴근시간은 6시 반 현재시간은 6시
30분만에 코드짜서 배포까지 끝내겠다란 다짐! ( 옆에 분이 배포도 할 줄 몰라서 내가 독박쓰는 상황이다... 하....)
************** 컨트롤러 코드 **************
************** dto 코드 ******************
손에 불나게 만들어서 어찌저찌 퇴근시간 전에 배포까지 끝내고 포스트맨으로 확인 결과 ok!
마지막으로 앱 담당자에게 데이터 보내보라 했다
근데 null; 이 나온다... 실패 ...
웹에서는 잘되기 때문에 이건 앱 개발자 잘못이라 생각하고
json 형태가 맞는지 확인 -> 출력결과 보니 맞다
key 형태가 잘못된게 아닌지 확인 -> 내가 보내준 예시대로 해도 안된다
헤더 타입 설정을 안해서 그런건지 확인 -> 헤더 설정 안해놨었다!! -> 이거다 싶어서 타입을 application/Json으로 해놓고
이제 진짜 됐다 싶었으나... 실패 ....
배포한 웹에서는 정상 작동 하고 있었고 포스트맨에서 값을 넣어도 정상실행된다.
왜 코틀린 코드상에서 보내면 안되는 지 이해가 안되는 상황..
결국 해결못하고 과장님께 물어보려 했으나 칼퇴근 해버리심...
그렇다면 부장님이닷! 하고 달려갔으나 퇴근하러 가시는 중... 차마 금요일 퇴근하시는 부장님을 붙잡지 못하고 씨름
일단 작동이 안되었으니 에러가 로그에 찍혔을 거라 서버로 달려가 톰캣 디렉토리 > logs > tail -f ./catalina.out 으로
실시간 로그 기록 확인
에러가 발생한 부분을 찾아보니 생성자 오류?!?!
json 데이터를 받는 DTO를 확인 -> 정상적으로 lombok으로 getter/setter 만들어 놓았다.
여기저기 물으며 찾으며 알아본결과
1. 롬복의 에러 일것이니 어노테이션이 아닌 손수 getter/setter를 만들어보자
2. DTO 클래스에 implements Serializable 를 상속받아 볼것!
( 데이터 직렬화 문제일 수도 있다고 한다 ;; 데이터 직렬화... 공부할게 늘어버렸다....)
3. DTO 에 어노테이션으로 @JsonAutoDetect 이것을 추가해 볼것!
(아마 들어온 데이터가 잘못된 형식으로 인식될까봐 해주는 듯하다)
담당자가 없으면 테스트는 못해봐서 그건 다음 기회에..
(실행시킬 코틀린 코드가 없다.... 앱 쪽도 좀 공부해야되나싶다. java랑 얼추 비슷하던데 흠...)
'프로젝트_트러블슈팅' 카테고리의 다른 글
[PersonaAI - 비공개 프로젝트b] ejs 화면 구동 (0) | 2024.02.23 |
---|---|
[PersonaAI - 비공개 프로젝트b] node.js 프로젝트 생성 (0) | 2024.02.23 |
[ PersonaAI - 비공개 프로젝트a ] java.lang.ClassNotFoundException 에러 해결 (0) | 2024.02.22 |
[ witches - 회의실 예약 시스템 ] RestAPI - 앱 데이터 전송 에러 (해결) (0) | 2024.02.07 |
[ witches - 회의실 예약시스템 ] centOS 배포 (0) | 2023.11.17 |