문자발송 코드 짜다가.. 까먹을까봐 정리해둠.
MultiValueMap parameters 에 파라미터 값들을 담고
(multipart/form-data 가 있는 경우는 MultiValueMap<String, Object> 로 하면 되는지는 테스트해봐야함)
HttpHeaders headers 에 Content-Type 정보와 클라이언트키값(api key)값을 담는다.
Content-Type 은 두 가지로 나뉘는데 RestTemplate을 사용하면 알아서 정해진다고 한다.
1 2 | headers.add("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); //전부다 String형일 때. RestTemplate 쓰면 생략가능 headers.add("Content-Type", "multipart/form-data; boundary=----WebKitFormBoundary8UhbmC4vAvBxT6z3"); //multipart/form-data 있는 경우 사용. RestTemplate 쓰면 생략 가능 | cs |
위 parameters 와 headers 를 HttpEntity<> request 에 담는다.
위에서 MultiValueMap을 <String, String>으로 선언했기 때문에 HttpEntity<MultiValueMap<String, String>> 이다.
RestTemplate.postForObject() 을 실행할 때 URI, request, String.class 변수로 넘긴다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | MultiValueMap<String, String> parameters = new LinkedMultiValueMap<>(); parameters.add("send_phone", "12341234"); parameters.add("dest_phone", "01012345678"); parameters.add("msg_body", "단문 문자 테스트"); parameters.add("subject", "문자 제목"); HttpHeaders headers = new HttpHeaders(); //headers.add("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); //전부다 String형일 때. RestTemplate 때문에 생략가능 //headers.add("Content-Type", "multipart/form-data; boundary=----WebKitFormB~~3"); //multipart/form-data 있는 경우 사용. RestTemplate 때문에 생략 가능 headers.add("x-waple-authorization", "API키값"); HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(parameters, headers); RestTemplate rest = new RestTemplate(); String result = rest.postForObject(new URI("http://api.openapi.io/ppurio/1/message/mms/API스토어ID"), request, String.class); //결과 {“result_code”:”200”,”cmid”:”20130314163439459”} // 결과값에 따른 처리 JSONObject feedback = (JSONObject) new JSONParser().parse(result); String resultCode = (String) feedback.get("result_code"); | cs |
참고 :
http://www.apistore.co.kr/api/apiView.do?service_seq=151
http://blog.saltfactory.net/java/post-multipart-form-data-using-resttemplate-in-spring.html
'1.자바 > Java' 카테고리의 다른 글
Java 콤마를 구분하여 배열에 담기 (0) | 2016.09.01 |
---|---|
HttpClient, HttpPost, HttpResponse, HttpEntity 사용하기 (0) | 2016.08.12 |
자바 AES 256 암호화 복호화 (4) | 2016.08.09 |
API 작성을 도와주는 Javadoc (0) | 2016.07.06 |
자바 공백 검수 쉽게 하기 (0) | 2016.05.16 |