오늘은 개인 프로젝트를 하기 위해 공공데이터 포털에서 활용 신청해둔 open api를 json으로 가져와봤다.
MapController
//===========
//개발 환경
//IDE : IntelliJ IDEA
//Spring Boot : 2.7.13
//Java11
//Gradle
//===========
@RestController
@RequestMapping("/api")
public class MapController {
@GetMapping("/map")
public String allowBasic() {
StringBuffer result = new StringBuffer();
try {
StringBuilder urlBuilder = new StringBuilder("http://apis.data.go.kr/1741000/TsunamiShelter3/getTsunamiShelter1List"); //URL
urlBuilder.append("?" + URLEncoder.encode("ServiceKey", "UTF-8") + "=발급받은 서비스 키"); //서비스키
urlBuilder.append("&" + URLEncoder.encode("pageNo", "UTF-8") + "=" + URLEncoder.encode("1", "UTF-8")); //페이지 번호
urlBuilder.append("&" + URLEncoder.encode("numOfRows", "UTF-8") + "=" + URLEncoder.encode("10", "UTF-8")); //한 페이지 결과 수
urlBuilder.append("&type=json"); //결과 json 포맷
URL url = new URL(urlBuilder.toString());
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
BufferedReader rd;
if (conn.getResponseCode() >= 200 && conn.getResponseCode() <= 300) {
rd = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
} else {
rd = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
}
String line;
while ((line = rd.readLine()) != null) {
result.append(line + "\n");
}
rd.close();
conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
return result + "";
}
}
'🗂ㅤ작업 노트 > Project' 카테고리의 다른 글
[Docker] #1 Docker 설치 및 Swarm 환경 구축 (0) | 2024.03.14 |
---|---|
[Docker] #0 기본 환경 셋팅 (VMware) (0) | 2024.03.14 |
[Kakao Map] script.onload 추가 (0) | 2023.07.24 |