:::: 개발 ::::/::: JAVA :::

JAVA 외부 URL 호출 JSON 형태 가져오기

nayha 2017. 5. 13. 18:21
반응형


CALL JSP

$.ajax({
url: "외부컨트롤러호출.do",
headers : { "Content-Type" : "application/json; charset=UTF-8" },
dataType : 'json',
type: "GET",
success: function(data) {
console.log("성공");
},
error: function (data) {
console.log("실패");
console.log(data);
}
});

CONTROLL JAVA
@RequestMapping("외부컨트롤러호출.do")
public ModelAndView myPageMain(HttpServletRequest req, HttpServletResponse res) throws Exception {
Map<String, Object> dataMap = new HashMap<String, Object>();
HashMap<String, String> hMap = new HashMap<String, String>();
hMap.put("전달파라미터"   , "아이디");
dataMap.put("ajaxcallReturn", 서비스.메소드명(hMap));
return dataMap;
}
SERVICE JAVA

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.JSONValue;

import java.io.InputStreamReader;
import java.net.URL;

public List<Map<String, Object>> 메소드명(HashMap<String, String> hMap) throws Exception {

JSONArray bodyArray = new JSONArray();
//URL 호출
URL url = new URL("http://호출 URL"+ "?아이디="+hMap.get("전달파라미터"));
//한글 처리 및 데이터 읽기
InputStreamReader isr = new InputStreamReader(url.openConnection().getInputStream(),"UTF-8");
//JSON Parsing // 예외처리
JSONObject items = (JSONObject) JSONValue.parseWithException(isr);
// 항상 넘어오는 데이터를 잘 확인해야함 
// 데이터에 :: 두개 있어서 삽질4시간
//===items.toString()=== 전달받은 데이터 {"data":[{"test1":"200","test2":"dummy1"},{"test1":"100","test2":"dummy2"}]}
// JSON 배열 변환
bodyArray = (JSONArray) items.get("data");
return bodyArray;
}​


반응형