티스토리 뷰

728x90
반응형

 

 

자바에서 기본적으로 GET,POST로 JSON API 호출하는 방법에 대해서는 아래 링크를 눌러주세요.

[java] 자바에서 JSON API GET/POST 쉽게 호출하는 방법

 

[java] 자바에서 JSON API GET/POST 쉽게 호출하는 방법

JSON 형식의 API를 호출 할 때 사용 가능합니다. 아래는 응답메세지를 text라는 문자열로 저장하는 코드입니다. 공공데이터포털, 서울 열린데이터광장에는 코드별로 API 호출예시가 있어 참고하였

domdom.tistory.com

 

 

ArrayList형식의 data를 넣어서 POST API를 호출하는 방법입니다.

// 파라미터 설명
type: "GET", "POST" 중에 선택
StringURL: API URL
param: API를 호출할 때 전달할 파라미터
/* JSON API   */
public Map<String, Object> getApi(String type, String stringURL, JSONObject param) throws IOException {
    URL obj = null;
    obj = new URL(stringURL); // API URL

    HttpURLConnection con = (HttpURLConnection)obj.openConnection();
    con.setRequestMethod(type); // GET, POST
    con.setRequestProperty("Content-type", "application/json; charset=UTF-8");
    con.setDoOutput(true);
    // DATA
    OutputStreamWriter wr= new OutputStreamWriter(con.getOutputStream());
    wr.write(param.toString());
    wr.flush();
    // API 호출
    BufferedReader in = new BufferedReader(
            new InputStreamReader(con.getInputStream(), "UTF-8"));
    String line;
    StringBuffer sb = new StringBuffer();
    while((line = in.readLine()) != null){
        sb.append(line);
    }
    in.close();
    con.disconnect();
    String text = sb.toString();
    ObjectMapper mapper = new ObjectMapper();
    Map<String, Object> map = mapper.readValue(text, Map.class);
    return map; 
}

 

이제 API에 사용할 파라미터와 함께 호출하면 끝.

// 파라미터 설정
JSONObject param = new JSONObject();

// 문자열(String) 파라미터 예시
param.put("name", "kim");
param.put("age", 10);

// 리스트 파라미터 예시
JSONArray list = new JSONArray();
JSONObject data = new JSONObject();
data.put("name", "kim");
data.put("age", 10);
list.put(data);

param.put("list", list);

// API 호출
Map<String, Object> result = getApi("POST", "localhost:8080/api", param);

 

 

728x90
반응형
댓글