feat(parking): 전국 주차장 정보·실시간 잔여면 읽기 서비스#26
Merged
Merged
Conversation
한국교통안전공단(KOTSA) 주차정보 제공 API(data.go.kr 15099883) 읽기 래퍼. 단일 base B553881/Parking의 3개 오퍼레이션(시설/운영/실시간)을 하나의 서비스키로 커버하는 3개 GET 도구: - parking_search(/PrkSttusInfo): 전국 주차장 시설정보(이름·주소·위경도·총 주차면·PK) - parking_operation(/PrkOprInfo): 운영정보(운영시간·기본/추가 요금·무료회차) - parking_realtime(/PrkRealtimeInfo) ⭐: 실시간 잔여 주차면(현재/총 주차가능 구획) 모든 응답은 주차장관리번호 prk_center_id를 PK로 공유.⚠️ 실시간 잔여면은 시스템 연동 주차장 한정(공식 안내: 운영·실시간 정보는 시설정보보다 데이터 수가 적음) — 도구 설명·README에 커버리지 한계 명시. data.go.kr 함정 처리: 서비스키 쿼리 파라미터(Decoding 키, 이중 인코딩 방지), format=2(JSON) 명시, 봉투 resultCode!="00"(+게이트웨이 cmmMsgHeader) 에러 매핑. B553881 고유 quirk: 항목 배열이 표준 response.body.items.item이 아니라 오퍼레이션명 키 아래에 실리고 1건이면 단일 객체·0건이면 키 누락 → normalize_items 흡수. 좌표·요금·시각·면수 문자열 보존(잔여 0면 포함). 테스트 2종(계약 25 + 도구 21 = mock, 네트워크 없음) 전체 통과, ruff 통과. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ArcSolver
added a commit
that referenced
this pull request
Jun 4, 2026
* feat(parking): 전국 주차장 정보·실시간 잔여면 읽기 서비스 한국교통안전공단(KOTSA) 주차정보 제공 API(data.go.kr 15099883) 읽기 래퍼. 단일 base B553881/Parking의 3개 오퍼레이션(시설/운영/실시간)을 하나의 서비스키로 커버하는 3개 GET 도구: - parking_search(/PrkSttusInfo): 전국 주차장 시설정보(이름·주소·위경도·총 주차면·PK) - parking_operation(/PrkOprInfo): 운영정보(운영시간·기본/추가 요금·무료회차) - parking_realtime(/PrkRealtimeInfo) ⭐: 실시간 잔여 주차면(현재/총 주차가능 구획) 모든 응답은 주차장관리번호 prk_center_id를 PK로 공유.⚠️ 실시간 잔여면은 시스템 연동 주차장 한정(공식 안내: 운영·실시간 정보는 시설정보보다 데이터 수가 적음) — 도구 설명·README에 커버리지 한계 명시. data.go.kr 함정 처리: 서비스키 쿼리 파라미터(Decoding 키, 이중 인코딩 방지), format=2(JSON) 명시, 봉투 resultCode!="00"(+게이트웨이 cmmMsgHeader) 에러 매핑. B553881 고유 quirk: 항목 배열이 표준 response.body.items.item이 아니라 오퍼레이션명 키 아래에 실리고 1건이면 단일 객체·0건이면 키 누락 → normalize_items 흡수. 좌표·요금·시각·면수 문자열 보존(잔여 0면 포함). 테스트 2종(계약 25 + 도구 21 = mock, 네트워크 없음) 전체 통과, ruff 통과. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * chore(parking): 카탈로그·체인지로그 재생성 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
개요
한국교통안전공단 전국 주차장 정보·실시간 잔여면 읽기 서비스.🅿️ 교통 곁가지. data.go.kr B553881.
도구 (3종, GET·읽기)
parking_search(...)— 주차장 정보(명칭·주소·위경도·총면수)parking_operation(...)— 운영시간·요금parking_realtime(...)⭐ — 실시간 잔여 주차면설계
PARKING_SERVICE_KEY(Decoding).format=2(JSON;_type아님). 코어get_json.items.item[]이 아니라 오퍼레이션명 키 최상위({..., "PrkSttusInfo":[...]}) —normalize_items흡수.검증
교차 독립 검증(공식+외부구현 교차) — 버그 0,
format=2·봉투 최상위 키·실시간 한정 모두 정확. 36 테스트·전체 635 passed·ruff clean.통합 노트
공유:⚠️ 타 PR과 append-only 겹침 — 나중 머지 리베이스.
.env.example·docs/providers.md(append).🤖 Generated with Claude Code