Exception 처리 보완
This commit is contained in:
parent
f0ce096c6b
commit
a06c7a6d74
@ -13,6 +13,8 @@ import org.springframework.http.MediaType;
|
|||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.http.converter.StringHttpMessageConverter;
|
import org.springframework.http.converter.StringHttpMessageConverter;
|
||||||
import org.springframework.util.MultiValueMap;
|
import org.springframework.util.MultiValueMap;
|
||||||
|
import org.springframework.web.client.HttpClientErrorException;
|
||||||
|
import org.springframework.web.client.HttpServerErrorException;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
import nlib.restful.service.DataApiInterface;
|
import nlib.restful.service.DataApiInterface;
|
||||||
@ -92,50 +94,51 @@ public class DataApiRESTful implements DataApiInterface {
|
|||||||
restTemplate.getMessageConverters()
|
restTemplate.getMessageConverters()
|
||||||
.add(0, new StringHttpMessageConverter(StandardCharsets.UTF_8));
|
.add(0, new StringHttpMessageConverter(StandardCharsets.UTF_8));
|
||||||
|
|
||||||
|
HttpStatus statusCode = HttpStatus.OK;
|
||||||
|
String resultXML = null;
|
||||||
|
|
||||||
if(method == HttpMethod.GET) {
|
if(method == HttpMethod.GET) {
|
||||||
HttpEntity requestEntity = new HttpEntity(headers);
|
HttpEntity requestEntity = new HttpEntity(headers);
|
||||||
responseEntity = restTemplate.exchange (DataApiInterface.makeRequestParamUrl(url, reqVO), method, requestEntity, String.class);
|
try {
|
||||||
|
responseEntity = restTemplate.exchange (DataApiInterface.makeRequestParamUrl(url, reqVO), method, requestEntity, String.class);
|
||||||
|
statusCode = responseEntity.getStatusCode();
|
||||||
|
resultXML = responseEntity.getBody();
|
||||||
|
} catch(HttpClientErrorException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
resultXML = e.getResponseBodyAsString();
|
||||||
|
statusCode = e.getStatusCode();
|
||||||
|
} catch(HttpServerErrorException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
resultXML = e.getResponseBodyAsString();
|
||||||
|
statusCode = e.getStatusCode();
|
||||||
|
}
|
||||||
} else if(method == HttpMethod.POST) {
|
} else if(method == HttpMethod.POST) {
|
||||||
MultiValueMap<String, String> parameters = DataApiInterface.makeRequestParamMultiValueMap(reqVO);
|
MultiValueMap<String, String> parameters = DataApiInterface.makeRequestParamMultiValueMap(reqVO);
|
||||||
parameters.forEach((k, v) -> log.debug("params > " + k + " : " + v));
|
parameters.forEach((k, v) -> log.debug("params > " + k + " : " + v));
|
||||||
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity(parameters, headers);
|
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity(parameters, headers);
|
||||||
responseEntity = restTemplate.postForEntity(url, requestEntity , String.class);
|
try {
|
||||||
|
responseEntity = restTemplate.postForEntity(url, requestEntity , String.class);
|
||||||
|
statusCode = responseEntity.getStatusCode();
|
||||||
|
resultXML = responseEntity.getBody();
|
||||||
|
} catch(HttpClientErrorException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
resultXML = e.getResponseBodyAsString();
|
||||||
|
statusCode = e.getStatusCode();
|
||||||
|
} catch(HttpServerErrorException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
resultXML = e.getResponseBodyAsString();
|
||||||
|
statusCode = e.getStatusCode();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
String message = "RESTFul API Http Method 설정 오류입니다. : POST, GET 방식만 허용됩니다.";
|
String message = "RESTFul API Http Method 설정 오류입니다. : POST, GET 방식만 허용됩니다.";
|
||||||
log.error("request > " + message);
|
log.error("request > " + message);
|
||||||
return DataApiInterface.makeErrorRes("E_ERR_METHOD", message);
|
return DataApiInterface.makeErrorRes("E_ERR_METHOD", message);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------
|
|
||||||
// 요청 처리
|
|
||||||
//-----------------------------------
|
|
||||||
// RestTemplate restTemplate = new RestTemplate();
|
|
||||||
//restTemplate.setMessageConverters(msgConverters);
|
|
||||||
|
|
||||||
//ResponseEntity<String> responseEntity = restTemplate.exchange(url, method, requestEntity, String.class);
|
|
||||||
// ResponseEntity<String> responseEntity = restTemplate.exchange (url, method, requestEntity, String.class);
|
|
||||||
//ResponseEntity<String> responseEntity = restTemplate.exchange (url, HttpMethod.GET, requestEntity, String.class, parameters);
|
|
||||||
//ResponseEntity<String> responseEntity = restTemplate.postForEntity( url, requestEntity , String.class ); // working well
|
|
||||||
//ResponseEntity<String> responseEntity = restTemplate.getForEntity(url, String.class, parameters); // not working
|
|
||||||
|
|
||||||
/*
|
|
||||||
// GET // OK
|
|
||||||
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url)
|
|
||||||
.queryParam("mngOrgCd", "SU01")
|
|
||||||
.queryParam("masterId", "UR-408A9832D25C42289D9B1FC81FDA8360")
|
|
||||||
.queryParam("typeDivCd", "IT_MUSE");
|
|
||||||
HttpEntity<?> entity = new HttpEntity<>(headers);
|
|
||||||
RestTemplate restTemplate = new RestTemplate();
|
|
||||||
ResponseEntity<String> responseEntity = restTemplate.exchange (builder.toUriString(), method, entity, String.class);
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------
|
//-----------------------------------
|
||||||
// 응답 처리
|
// 응답 처리
|
||||||
//-----------------------------------
|
//-----------------------------------
|
||||||
HttpStatus statusCode = responseEntity.getStatusCode();
|
|
||||||
log.debug("RES StatusCode : " + statusCode);
|
log.debug("RES StatusCode : " + statusCode);
|
||||||
String resultXML = responseEntity.getBody();
|
|
||||||
log.debug("RES resultXML : " + resultXML);
|
log.debug("RES resultXML : " + resultXML);
|
||||||
|
|
||||||
// 응답 자료 객체화
|
// 응답 자료 객체화
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user