반응형
우체국 주소검색 API XML 값을 JSON 으로 변경
@RequestMapping(value = "/Address.do", method = RequestMethod.GET)
public @ResponseBody Map<Object,Object> addrApireturnJson(HttpServletRequest request){
Map<Object,Object> returnMap = new HashMap<Object,Object>();
String apiurl = new String();
apiurl = "http://biz.epost.go.kr/KpostPortal/openapied?regkey=키&target=post&query=";
List<AddressVO> address = new ArrayList<AddressVO>();
HttpURLConnection conn = null;
try{
String searchAddr = null;
if(request.getHeader("user-agent").matches(".*AppleWebKit.*")){ // 웹킷
searchAddr = new String(request.getParameter("searchAddr").getBytes("ISO8859-1"),"UTF-8");
}else if(request.getHeader("user-agent").matches(".*MSIE.*")){ //IE
searchAddr = new String(request.getParameter("searchAddr").getBytes("ISO8859-1"),"euc-kr");
}
apiurl += URLEncoder.encode(searchAddr,"euc-kr");
URL url = new URL(apiurl);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("accept-language","ko");
SAXBuilder builder = new SAXBuilder();
Document doc= builder.build(conn.getInputStream());
Element itemlist = doc.getRootElement().getChild("itemlist");
List list = itemlist.getChildren();
for(int i=0; i<list.size();i++){
AddressVO setAddr = new AddressVO();
Element item = (Element)list.get(i);
setAddr.setAddress(item.getChildText("address"));
setAddr.setPostcd(item.getChildText("postcd"));
address.add(setAddr);
}
returnMap.put("addr", address);
}catch(Exception e){
e.printStackTrace();
}
return returnMap;
}반응형
'프로그래밍 > Spring' 카테고리의 다른 글
| Spring 3.2.5 릴리즈 Change Log (0) | 2013.11.08 |
|---|---|
| Spring 3.1 - Spring Mobile Maven (0) | 2013.10.28 |
| Spring 3.1 MVC - JDBC Maven (0) | 2013.10.28 |
| Spring 3.0 - MVC : 파일 업로드 jar 등록 (0) | 2012.04.21 |
| Spring 3.0 준비 - Framework 다운로드 (0) | 2012.03.22 |