전에 했던 중기 예보와 비슷하다.
- Get요청을 했을때 navigation에서 어떤 항목을 선택했는지 알려주기위해 menu와 지역 선택을 위해 RegionRequestDTO를 보내준다.
- Post요청시 Get으로 보내줬던 DTO와 BindingResult 객체를 사용하여 예외 처리를 진행한다.
예외가 없으면 화면에 선택한 지역을 표시해주기 위해 name에 선택한 지역을 넣어준다.- Service layer로 받은 DTO를 보내주고 시간당 기온과 오늘, 내일 최고/최저 기온을 받아온다.
- 받은 값들을 model에 넣어 주고 return.
- checkRegionLocation에 요청 값을 보낸다.
- 인증 키를 받은 사이트에 가면 zip파일로 설명서가 들어가있다. 거기 보면 xlsx파일로 지역, 위치 등 데이터들이 있는데 난 DB에 넣어 거기서 검색하도록 하였다.
- DB에서 나온 값들로 API 요청을 하여 값을 받아왔다.
- 받아온 값들 중 필요한 시간 당 온도와 최고/최저 온도만 뽑아내 return.
선택한 지역이름과 오늘, 내일 최고/최저 온도, 시간 당 온도를 화면에 보여준다.
원래 계획은 React를 바로 사용하려고 하였지만 너무 어려워서 그나마 할 수있는 Thymeleaf를 통해 진행했다. 지금은 MVC로 진행했지만 RestAPI도 만들어 놨으니까 우선 다 만들고 프론트를 만들어 봐야겠다.
이렇게 날씨 기능은 마무리..
다음은 이 블로그에 채팅 기능을 넣을 계획이다.