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.converter.StringHttpMessageConverter;
|
||||
import org.springframework.util.MultiValueMap;
|
||||
import org.springframework.web.client.HttpClientErrorException;
|
||||
import org.springframework.web.client.HttpServerErrorException;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import nlib.restful.service.DataApiInterface;
|
||||
@ -92,50 +94,51 @@ public class DataApiRESTful implements DataApiInterface {
|
||||
restTemplate.getMessageConverters()
|
||||
.add(0, new StringHttpMessageConverter(StandardCharsets.UTF_8));
|
||||
|
||||
HttpStatus statusCode = HttpStatus.OK;
|
||||
String resultXML = null;
|
||||
|
||||
if(method == HttpMethod.GET) {
|
||||
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) {
|
||||
MultiValueMap<String, String> parameters = DataApiInterface.makeRequestParamMultiValueMap(reqVO);
|
||||
parameters.forEach((k, v) -> log.debug("params > " + k + " : " + v));
|
||||
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 {
|
||||
String message = "RESTFul API Http Method 설정 오류입니다. : POST, GET 방식만 허용됩니다.";
|
||||
log.error("request > " + 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);
|
||||
String resultXML = responseEntity.getBody();
|
||||
log.debug("RES resultXML : " + resultXML);
|
||||
|
||||
// 응답 자료 객체화
|
||||
|
||||
Loading…
Reference in New Issue
Block a user