// -------------------------------------------------------------------- // 지번/도로명 주소로 건물 조회 // -------------------------------------------------------------------- // 작성일 : 2022. 04. // 작성자 : 홍사민 // -------------------------------------------------------------------- // [기록] // 2022. 06. 14. // - 유효 조건 없이 모두 조회 가능한 옵션(searchAll) 추가 // (김재원 과장님 요청사항) // // 2022. 07. 20. // - limit/offset -> pageNo/pageSize로 변경 // -------------------------------------------------------------------- import {HTTPNoBody} from '@fastify-modular/route'; import {pito} from 'pito'; export const FindBuildingsOption = pito.Obj({ sigBjdCd : pito.Str(), // 시군구법정동 10자리 코드 addr : pito.Str(), // 검색할 주소의 일부 문자열 pageSize : pito.Opt(pito.Int({minimum: 0, maximum: 100})), pageNo : pito.Opt(pito.Int({minimum: 1})), // pageNo: pito.Num({ minimum: 1, maximum: 1000 }), // 페이지 번호 // pageSize: pito.Num({ minimum: 0, maximum: 10000 }), // 행 개수 searchAll: pito.Opt(pito.Bool()), // "true"일 경우, 유효 제약 조건 없이 모두 조회 }); export const FindBuildingsOutput = pito.Obj({ found: pito.Arr( pito.Obj({ zipNo : pito.Str(), jibunAddr: pito.Str(), doroAddr : pito.Str(), bldNm : pito.Str(), mapperId : pito.Str(), }), ), }); export type FindBuildingsOption = pito.Type; export type FindBuildingsOutput = pito.Type; // 시군구법정동 10자리 코드 + 검색 쿼리를 통해 지번 주소로 단지 목록 검색 export const FindByJibun = HTTPNoBody('GET', '/api/v1/address/find-addr-jibun', 'address') .query(FindBuildingsOption) .response(FindBuildingsOutput) .build(); // 시군구법정동 10자리 코드 + 검색 쿼리를 통해 도로명 주소로 단지 목록 검색 export const FindByDoro = HTTPNoBody('GET', '/api/v1/address/find-addr-doro', 'address') .query(FindBuildingsOption) .response(FindBuildingsOutput) .build();