[6] 나만의 블로그 만들기

김준영·2022년 12월 15일
1

단기 예보와 Open API 마무리

Controller

전에 했던 중기 예보와 비슷하다.

  1. Get요청을 했을때 navigation에서 어떤 항목을 선택했는지 알려주기위해 menu와 지역 선택을 위해 RegionRequestDTO를 보내준다.
  2. Post요청시 Get으로 보내줬던 DTO와 BindingResult 객체를 사용하여 예외 처리를 진행한다.
    예외가 없으면 화면에 선택한 지역을 표시해주기 위해 name에 선택한 지역을 넣어준다.
  3. Service layer로 받은 DTO를 보내주고 시간당 기온과 오늘, 내일 최고/최저 기온을 받아온다.
  4. 받은 값들을 model에 넣어 주고 return.

Service

  1. checkRegionLocation에 요청 값을 보낸다.
  2. 인증 키를 받은 사이트에 가면 zip파일로 설명서가 들어가있다. 거기 보면 xlsx파일로 지역, 위치 등 데이터들이 있는데 난 DB에 넣어 거기서 검색하도록 하였다.
  3. DB에서 나온 값들로 API 요청을 하여 값을 받아왔다.
  4. 받아온 값들 중 필요한 시간 당 온도와 최고/최저 온도만 뽑아내 return.

결과

선택한 지역이름과 오늘, 내일 최고/최저 온도, 시간 당 온도를 화면에 보여준다.

느낀점

원래 계획은 React를 바로 사용하려고 하였지만 너무 어려워서 그나마 할 수있는 Thymeleaf를 통해 진행했다. 지금은 MVC로 진행했지만 RestAPI도 만들어 놨으니까 우선 다 만들고 프론트를 만들어 봐야겠다.

이렇게 날씨 기능은 마무리..

다음은 이 블로그에 채팅 기능을 넣을 계획이다.

profile
ㅎㅎ

0개의 댓글