반응형
우체국 주소검색 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 |