로컬 api 키워드로 장소 검색 api 이용시
GET “https://dapi.kakao.com/v2/local/search/keyword.json?query=검색어&y=37.514322572335935&x=127.06283102249932&radius=20000&size=45&page=1”
이런식으로 서버에서 요청을 하는데 가이드에는 size의 갯수가
한 페이지에 보여질 문서의 개수
(최소: 1
, 최대: 45
, 기본값: 15
)
최대 45까지 가능 하다고 되어 있는데 실제 테스트로 돌려본 결과 15개 이상부터는 400에러가 납니다.
내부적으로 15개로 제한을 걸어 두신건지 가이드와 달라서 질문 드립니다.
또한 is_end 값이 false 일 때 api를 재 요청해 페이지를 가져오는데 총 가져온 total_count는 100 건이 넘는데 15건씩 3페이지 만 가져와 실제 가져오는 값은 45개의 데이터가 끝입니다. 원래 이런건가요?
@Get()
async getKakaoApiCall(@Query(‘query’) query: string): Promise {
const _hostName = 'https://dapi.kakao.com/v2/local/search/keyword.json'
let page = 1
let isEnd = false
const result: Array<any> = []
while (!isEnd) {
const url = `${_hostName}?query=${query}&size=15&page=${page}&y=37.514322572335935&x=127.06283102249932&radius=500`
const headers = {
headers: {
Authorization: `KakaoAK ${this._kakaoRestApiKey}`,
},
}
const searchData = await axios.get(encodeURI(url), headers)
console.log('page', page)
page += 1
isEnd = searchData.data.meta.is_end
console.log('isEnd', isEnd)
result.push(...searchData.data.documents)
console.log(searchData.data.meta.total_count)
}
return result
}
api 호출하는 실제 코드 첨부해 드립니다