-
eBest xing api RESTful 요청 예제프로그래밍/buycycle 2021. 3. 29. 00:06반응형
Buycycle 설치 후 모듈을 실행 하면 기본 localhost 7771번 포트로 바인딩 된다. 이 URL을 통해 HttpURLConnection를 활용하여 json 메시지로 요청 및 응답을 받아 보겠다.
import com.google.common.net.HttpHeaders; import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.util.Map; public class BuyCyclePostRequest { public static void main(String[] args){ try { URL url = new URL("http://localhost:7771/data/ebest/query"); HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); httpURLConnection.setRequestMethod("POST"); httpURLConnection.setRequestProperty(HttpHeaders.CONTENT_TYPE, "application/json;charset=utf8"); httpURLConnection.setDoInput(true); httpURLConnection.setDoOutput(true); String requestMessage = "{" + " \"body\": {" + " \"trName\": \"t1511\"," + " \"bNext\": false," + " \"query\": {" + " \"upcode\": \"001\"" + " }" + " }," + " \"header\": {" + " \"uuid\": \"7b81c375-d9b9-43c1-8449-77e561a979f2\"" + " }" + "}"; OutputStream os = httpURLConnection.getOutputStream(); os.write(requestMessage.getBytes()); os.flush(); for (Map.Entry<String, List<String>> header : httpURLConnection.getHeaderFields().entrySet()) { for (String value : header.getValue()) { System.out.println(header.getKey() + " : " + value); } } InputStream is = httpURLConnection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String readLine = null; while ((readLine = br.readLine()) != null) { System.out.println(readLine); } br.close(); os.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { } } }
Buycycle의 api를 참조하여 http://localhost:7771/data/ebest/query URL 설정 후 메소드는 'POST' 헤더 값엔 Content-Type 을 application/json 으로 설정 후 요청 하였다.
테스트 해 본 TR은 '업종현재가'이며 '001'은 종합을 뜻한다.
해당 요청에 대한 응답은 다음 스크린샷과 같다.
HttpURLConnection을 활용하여 간단한 예제 코드를 구현 하였다. json 메시지에 대한 부분은 편의를 위해 String으로 하였으나 jackson 이나 gson 등 라이브러리를 활용하면 손 쉽게 json 메시지 구현이 가능하다.
반응형'프로그래밍 > buycycle' 카테고리의 다른 글
netty 간단한 http client, application/json 요청하기 (0) 2021.04.08 eBest xing api를 http json으로 요청 응답 하기 (0) 2021.03.22