private <T extends GMResponseBase> T _GET(URL url, GMRequestBase request, Class<T> responseType)
      throws GongmingConnectionException {

    RestTemplate restTemplate = new RestTemplate();
    ResponseEntity<T> responseEntity;
    T response = null;

    try {
      responseEntity = restTemplate.getForEntity(
          url.toString() + "?" + request.toQuery(url.getPath(), merchantSecret), responseType);
      response = responseEntity.getBody();
    } catch (HttpStatusCodeException e) {
      // This exception has status code, e.g. 404 Not Found
      throw new GongmingConnectionException(e.getStatusCode(), e);
    } catch (InvalidKeyException e) {
      throw new GongmingConnectionException("商户密钥不合法", e);
    }
    return response;
  }