본문 바로가기
기록/개발일지

엄마를 위한 버스도착정보 웹앱 heroku 배포까지 완료! / 배운 것 정리

by stilinski 2022. 7. 4.
728x90


뿌듯뿌듯
내핸드폰 배경화면에도 바로가기 해놨다.



근데 만들고보니 폼들이 더 커도 될 거 같아서 늘려야겠다.


파일구조

일단 음 엄청 간단한 앱이라서 컨트롤러 이런 거 그냥 한 폴더에 다 넣어놨다.


시도해본것 배운것 정리
1. xml unmarshalling

처음으로 open API 사용해서 뭔가 만들어보게됐는데
하필 그 open API가 json이아니고 xml이었다...ㅋ
API 2개를 썻는데 두개 중 하나가 xml이었고 그게 좀 핵심적인 정보를 갖고있는 API였다.
처음엔 json도아니고 xml을 어떻게 java의 객체로 가져올지 몰라서... string으로 불러와서 하나하나 잘라야하나 싶었는데 아니 xml파일을 나만 쓰는 것도 아니고 그렇게 불편하게 쓸리가 없을 거 같았다.
그래서 인터넷에 수소문해서 xml을 풀어낼 수 있는 JAXB를 발견해냈고 결과적으로 잘 해나갈 수 있었다.
할 수 있는게 하나 더 늘어나서 기분 좋다 ㅎ


내가 unmarshal해야했던 정보가 2개겹으로 쌓여있어서 총3개의 클래스를 만들었다.


그런데 버스가 다 끊겨서 정보가 없을땐 2번째 겹인 msgbody자체가 결과에 안뜬다.
그래서 밤에 새벽에 개발할때 NullPointerException 파티를 맞았다 ㅋ

일단 if절로 null처리를 해주었다.
optional로 해보려다가 뭐가 잘 안돼서 일단 if로 했다.
optional을 제대로 좀 공부해서 optional로 바꿀 예정이다.




++

컨트롤러에 뷰에 넘길 model로 컬렉션 사용 이유
어레이는 생성할때 크기를 지정해야해서 값을 추가할때 새로운 어레이 만들어서 반복문 돌려야 하는 등 번거롭기 때문.




Test case 시도
....

test case도 해봤는데 이게 실시간 api라서 어떻게 짜야 모든상황에서도 파란불이 뜰 수 있게 할 수 있는지 모르것다..ㅋ





배운것
xml unmarshalling, null처리의 중요성, heroku 배포방법

728x90

댓글