개인 프로젝트/modu

[daon] 2일차 개발 회고록

highlev 2026. 5. 6. 16:07

개발 일지 (Tour API의 상세 정보, 무장애 정보 가져오기)

오늘의 주요 작업

1. 관광지 API 상세 정보, 무장애 정보를 가져오기 위한 경로 추가

  • "detailIntro2", "detailInfo2" api 요청을 위한 경로 추가 설정

다음 단계:

  • API → DB 적재 로직 구현

2. API 응답 JSON에서, 필요한 데이터를 꺼내는 유틸 클래스 구현

API에서 내려오는 raw-json의 형태

{
  "response": {
    "header": {
      "resultCode": "...",
      "resultMsg": "..."
    },
    "body": {
      "items": {
        "item": [...]
      },
      "totalCount": 100
    }
  }
}
  • 여기서 불필요한 껍데기들 (body, items,item 등)을 벗겨내고, 우리 프로젝트에 필요한 데이터들을 정제해서 꺼내쓸 수 있는 형태로 만든다.
contentId = "123"
title = "경복궁"
mapX = 126.9769
mapY = 37.5796
modifiedTime = 2026-05-06T12:30

3. 상세 정보, 무장애 정보를 요청하기 위한 apiService 코드  + 동기화 요청 코드 추가

  • getIntro, getInfo를 통해서, 관광지의 상세 정보를 요청한다.
  • getAccessibility를 통해서, 무장애 정보를 요청한다.

동기화 로직

public JsonNode getSync(String modifiedTime, int pageNo, int numOfRows, String showFlag) {
    Map<String, String> params = defaultParams(pageNo, numOfRows);
    params.put("modifiedtime", modifiedTime);
    params.put("showflag", showFlag);
    params.put("arrange", "C");
    return client.callKor(TourApiPath.SYNC_LIST, params);
}
  • modifiedTime 필드를 이용해서, 이 시각 이후에 수정된 관광지 데이터만 가져오도록 요청
  • 관광지 정보는 static한 정보가 아니기 때문에, 배치 프로그램을 돌려서 주기적으로 정보를 갱신해줘야하는데, 그때 필요한 요청 api이다.

다음 단계:

  • 배치 로직 작성

'개인 프로젝트 > modu' 카테고리의 다른 글

[daon] 7일차 개발 회고록  (0) 2026.06.07
[daon] 6일차 개발 회고록  (0) 2026.05.29
[daon] 5일차 개발 회고록  (1) 2026.05.25
[daon] 3일차 개발 회고록  (1) 2026.05.12
[daon] 1일차 개발 회고록  (1) 2026.05.03