목차
접기
728x90
반응형
package controller;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import org.json.simple.JSONObject;
import org.json.simple.JSONValue;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class Test_api {
@RequestMapping(value = "/test-api", produces="application/json;charset=UTF-8", method = RequestMethod.GET)
@ResponseBody
public String testServiceApi() throws Exception {
String body_contents1 = "body_text";
String result_txt = "";
try {
JSONObject reqParams = new JSONObject();
reqParams.put("body_contents1", body_contents1); // body에 들어갈 내용을 담는다.
URL url = new URL("https://www.test.com/test/open/order/possible-check"); // 호출할 외부 API 를 입력한다.
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // header에 데이터 통신 방법을 지정한다.
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json; utf-8");
// Post인 경우 데이터를 OutputStream으로 넘겨 주겠다는 설정
conn.setDoOutput(true);
// Request body message에 전송
OutputStreamWriter os = new OutputStreamWriter(conn.getOutputStream());
os.write(reqParams.toString());
os.flush();
// 응답
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
JSONObject jsonObj = (JSONObject) JSONValue.parse(in.readLine());
in.close();
conn.disconnect();
result_txt = "response :: " + jsonObj.get("result");
System.out.println(result_txt);
} catch (Exception e) {
e.printStackTrace();
}
return result_txt;
}
}
728x90
반응형
LIST
'Java' 카테고리의 다른 글
POI 엑셀 셀 타입별로 내용 처리 (0) | 2022.01.18 |
---|---|
POI 엑셀 라이브러리 style 적용 Tip !! (0) | 2022.01.15 |
java file download (0) | 2021.11.15 |
[ Spring Boot ] JSP 파일 연동하는 방법 (0) | 2021.09.12 |
[ Spring Boot ] controller에서 @Controller 어노테이션이 제대로 작동하지 않을 때 보아야할 것. (0) | 2021.09.12 |