

원하는 오픈 API 클릭 > 활용신청 클릭

활용 목적에 취업용 포트폴리오 작성 후 상세기능정보선택 체크 > 라이선스표시 동의 후 확인

상세보기 클릭 후 일반 인증키 (Encoding)

활용신청 상세기능정보에서 미리보기 > type에서 json으로 변경

미리보기 링크 접속하여 복사하여 인텔리제이에 코드 작성 (마지막 타입 json으로 변경)
인텔리제이 접속 후 코드 작성
Service에 apiTest 패키지 생성 후 클래스 작성
(코드는 맨 밑에 작성)
Spring key와 URL 값 변경해주기.
테스트 모듈에 Application 들어가기
apiTest 코드 작성
@Service
public class apiTest {
public void testAPI() {
String result = readAPI();
// String jsonStr = gson.toJson(result);
// System.out.println(jsonStr);
Gson pretty = new GsonBuilder().setPrettyPrinting().create();
String element = pretty.toJson(result);
System.out.println(element);
}
public String readAPI() {
String key = "%2Fk49W4UhNTuGlvyhZ6NCaHVhV1%2BBp0wbhWy0YjmvKgHQSFbVPwQqzw4ppSYg8O9ubHyLPYi8N%2F0e4yGvEQKGug%3D%3D";
// 파싱한 데이터를 저장할 변수
String bfResult = "";
String brResult="";
StringBuilder sb=new StringBuilder();
try {
URL url = new URL("http://apis.data.go.kr/B551177/BusInformation/getBusInfo?serviceKey="
+ key + "&numOfRows=10&pageNo=1&area=1&type=json");
BufferedReader bf;
bf = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
bfResult = bf.readLine();
System.out.println(bfResult.length());
HttpURLConnection con =(HttpURLConnection)url.openConnection();
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8"));
while((brResult=br.readLine())!=null) {
sb.append(brResult);
System.out.println(brResult);
}
br.close();
con.disconnect();
}catch(Exception e) {
e.printStackTrace();
}
return sb.toString();
}
}
Application 코드 작성
@SpringBootTest
class TestApplicationTests {
@Autowired
apiTest apiTest_1;
@Test
void apiTest_2() {
apiTest_1.readAPI();
}
@Test
void contextLoads() {
}
}