본문 바로가기
JAVA/예제

[JAVA/API] JAVA에서 공공 API 요청 및 출력하기

by JJH0100 2023. 1. 1.
728x90
반응형

사용한 공공 API

https://www.kobis.or.kr/kobisopenapi/homepg/main/main.do

 

영화진흥위원회 오픈API

OPEN API 서비스 영화진흥위원회 영화관입장권통합전산망에서 제공하는 오픈API 서비스로 더욱 풍요롭고 편안한 영화 서비스를 즐겨보세요.

www.kobis.or.kr

 

API 키 발급방법

2023.01.01 - [JAVA/예제] - [API] 영화진흥위원회 오픈API 사용

 

[API] 영화진흥위원회 오픈API 사용

[ 순서 ] 회원가입 키발급 원하는 데이터 사용 [ 회원가입 ] 해당 사이트에서 우선 회원가입을 진행 https://www.kobis.or.kr/kobisopenapi/homepg/main/main.do 영화진흥위원회 오픈API OPEN API 서비스 영화진흥위

jjh93.com

 

 

프로젝트 생성

Dynamic Web Project로 "CinemaAPI"라는 프로젝트를  생성

 

 

연결확인

data.api.json 패키지를 생성한 뒤 ApiJson.class 생성.

 

ApiJson.java

package data.api.json;

import java.io.BufferedReader;
import java.net.HttpURLConnection;
import java.net.URL;


public class ApiJson {
	public static void main(String[] args) {
		//BufferReader
		BufferedReader br = null;
		try {
			//공공API 인증키 및 전체 풀 주소
			//변수에 여러 값을 넣어서 주소 체계를 만들어야 한다면 StringBuilder를 사용
			//String : 불변성을 가지므로 문자열을 더할 때 매번 새로운 객체를 생성해서 참조하는 방식
			//StringBuilder :  문자열을 더해 나갈 때 새로운 객체를 매번 생성하는 것이 아니라 기존 데이터 값에 추가해가는 방식, 속도가 빠름
			//mutable속성이고, append(), insert(), delete()등을 사용해서 값을 변경
			//공공 API방식은 StringBuilder를 사용
			String urlStr = "발급받은 주소";
			
			//URL클래스로 객체 생성 : 절대경로, 상대경로 2가지 방식이 있음
			URL url = new URL(urlStr);
			
			//openConnection()매서드를 이용한 연결
			//URL주소의 원격 객체에 접속한 뒤 통신할 수 있는 URLConnection객체 리턴
			HttpURLConnection urlConn = (HttpURLConnection)url.openConnection();
			urlConn.setRequestMethod("GET");
			urlConn.setRequestProperty("Content-type", "application/json");
			System.out.println("ResponseCode : " + urlConn.getResponseCode()); //200이 출력되면 성공
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}
	}
}

실행시 200이 출력되면 제대로 연결 된 것이다. 

연결 확인 

 

 

 

데이터확인

데이터확인을 하기 위해서는 

데이터의 값을 확인해보기 위해 InputStreamReader의 객체를 입력값으로 받아 출력해 보자.

//InputStreamReader클래스로 읽기
//BufferedReader는 InputStreamReader의 객체를 입력값으로 사용
br = new BufferedReader(new InputStreamReader(urlConn.getInputStream(), "UTF-8"));

//결과 변수
String rst = "";
String line;
while((line = br.readLine()) != null) {
    rst += line + "\n";
}
System.out.println(rst);

응답코드 200 아래로 객체열이 확인 가능하다면 성공

근데 데이터 값이 영... 왤케 성인물이 많지

 

 

close()

출력을 확인했으니 연결해제를 잊지 말자.

//연결 해제
br.close();
urlConn.disconnect();

 

 

 

728x90
반응형

'JAVA > 예제' 카테고리의 다른 글

[API] 영화진흥위원회 오픈API 사용  (0) 2023.01.01
[JAVA] 자판기  (0) 2022.10.28
[JAVA] 숫자 순서대로 클릭하기 게임  (0) 2022.10.28
[JAVA] Graphics 미니그림판  (0) 2022.10.28
[JAVA] Graphics 웃는 얼굴  (0) 2022.10.28

댓글