wuxw
2025-03-11 a8d78bf321dab845132fe9ce2a612cb813e51063
java110-core/src/main/java/com/java110/core/client/OutRestTemplate.java
@@ -22,6 +22,7 @@
import org.springframework.web.client.HttpStatusCodeException;
import org.springframework.web.client.RestClientException;
import java.net.URI;
import java.util.Date;
/**
@@ -74,12 +75,13 @@
                tmpResponseEntity = new ResponseEntity(errMsg, HttpStatus.BAD_REQUEST);
            }
            LogFactory.saveOutLog(url, "POST", DateUtil.getCurrentDate().getTime() - startTime.getTime(), null,
                    requestEntity != null ? requestEntity.getBody().toString() : "",
                    (requestEntity != null && requestEntity.getBody() != null) ? requestEntity.getBody().toString() : "",
                    tmpResponseEntity);
        }
        return responseEntity;
    }
    @Override
    public <T> ResponseEntity<T> postForEntity(String url, @Nullable Object request,
@@ -110,5 +112,53 @@
        return responseEntity;
    }
    @Override
    public <T> ResponseEntity<T> getForEntity(String url, Class<T> responseType, Object... uriVariables) throws RestClientException {
        String errMsg = "";
        ResponseEntity<T> responseEntity = null;
        ResponseEntity tmpResponseEntity = null;
        Date startTime = DateUtil.getCurrentDate();
        try {
            logger.debug("请求信息:url:{},method:{},uriVariables:{}", url, "POST", uriVariables);
            responseEntity = super.getForEntity(url, responseType, uriVariables);
            logger.debug("返回信息:responseEntity:{}", responseEntity);
        } catch (HttpStatusCodeException e) {
            errMsg = ExceptionUtil.getStackTrace(e);
            throw e;
        } finally {
            if (responseEntity != null) {
                tmpResponseEntity = new ResponseEntity(responseEntity.getBody(), responseEntity.getStatusCode());
            } else {
                tmpResponseEntity = new ResponseEntity(errMsg, HttpStatus.BAD_REQUEST);
            }
            //  saveLog(url, "POST", null, tmpResponseEntity, DateUtil.getCurrentDate().getTime() - startTime.getTime());
            LogFactory.saveOutLog(url, "GET", DateUtil.getCurrentDate().getTime() - startTime.getTime(), null, "", tmpResponseEntity);
        }
        return responseEntity;
    }
    @Override
    public <T> T getForObject(String url, Class<T> responseType, Object... uriVariables) throws RestClientException {
        String errMsg = "";
        T resMsg;
        Date startTime = DateUtil.getCurrentDate();
        try {
            logger.debug("请求信息:url:{},method:GET", url);
             resMsg = super.getForObject(url, responseType,uriVariables);
            logger.debug("返回信息:responseEntity:{}", resMsg);
        } catch (HttpStatusCodeException e) {
            errMsg = ExceptionUtil.getStackTrace(e);
            throw e;
        } finally {
              ResponseEntity  tmpResponseEntity = new ResponseEntity(errMsg, HttpStatus.OK);
            //  saveLog(url, "POST", null, tmpResponseEntity, DateUtil.getCurrentDate().getTime() - startTime.getTime());
            LogFactory.saveOutLog(url, "GET", DateUtil.getCurrentDate().getTime() - startTime.getTime(), null, "", tmpResponseEntity);
        }
        return resMsg;
    }
}