// 계층별 행정표준코드 목록 조회 // - LV1 : 시도 - 쿼리 파라미터가 존재하지 않음 // - LV2 : 시군구 // - LV3 : 읍면동 // - LV4 : 리 import {HTTPNoBody} from '@fastify-modular/route'; import {pito} from 'pito'; // 임시 Point 타입 export const FindAdmOption = pito.Obj({ sigBjdCd: pito.Str(), // 상위 시군구법정동 10자리 코드 }); export const FindAdmOutput = pito.Obj({ found: pito.Arr( pito.Obj({ sigBjdCd: pito.Str(), // 시군구법정동 10자리 코드 addrNm : pito.Str(), // 주소명 lastYn : pito.Bool(), // 계층상 마지막 주소인지 여부 spacePos: pito.Obj({x: pito.Num(), y: pito.Num()}), }), ), }); export type FindAdmOption = pito.Type; export type FindAdmOutput = pito.Type; // 행정표준코드 LV1(시도) 목록 검색 export const FindAdmLv1 = HTTPNoBody('GET', '/api/v1/address/find-adm-lv1', 'address') .response(FindAdmOutput) .build(); // 행정표준코드 LV2(시군구) 목록 검색 export const FindAdmLv2 = HTTPNoBody('GET', '/api/v1/address/find-adm-lv2', 'address') .query(FindAdmOption) .response(FindAdmOutput) .build(); // 행정표준코드 LV3(읍면동) 목록 검색 export const FindAdmLv3 = HTTPNoBody('GET', '/api/v1/address/find-adm-lv3', 'address') .query(FindAdmOption) .response(FindAdmOutput) .build(); // 행정표준코드 LV4(리) 목록 검색 export const FindAdmLv4 = HTTPNoBody('GET', '/api/v1/address/find-adm-lv4', 'address') .query(FindAdmOption) .response(FindAdmOutput) .build();