All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mxixm.fastboot.weixin.controller.invoker.executor.WxApiInvoker Maven / Gradle / Ivy

The newest version!
package com.mxixm.fastboot.weixin.controller.invoker.executor;

import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.*;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.ClientHttpRequestInterceptor;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.client.*;
import org.springframework.web.util.UriTemplateHandler;

import java.net.URI;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * FastBootWeixin  WxApiInvoker,RestTemplate的包装类
 *
 * @author Guangshan
 * @summary FastBootWeixin  WxApiInvoker
 * @Copyright (c) 2017, Guangshan Group All Rights Reserved
 * @since 2017/8/13 10:58
 */
public class WxApiInvoker {

    private RestTemplate restTemplate;

    public WxApiInvoker(RestTemplate restTemplate) {
        this.restTemplate = restTemplate;
    }

    public void setMessageConverters(List> messageConverters) {
        restTemplate.setMessageConverters(messageConverters);
    }

    public List> getMessageConverters() {
        return restTemplate.getMessageConverters();
    }

    public void setErrorHandler(ResponseErrorHandler errorHandler) {
        restTemplate.setErrorHandler(errorHandler);
    }

    public ResponseErrorHandler getErrorHandler() {
        return restTemplate.getErrorHandler();
    }

    public void setDefaultUriVariables(Map defaultUriVariables) {
        restTemplate.setDefaultUriVariables(defaultUriVariables);
    }

    public void setUriTemplateHandler(UriTemplateHandler handler) {
        restTemplate.setUriTemplateHandler(handler);
    }

    public UriTemplateHandler getUriTemplateHandler() {
        return restTemplate.getUriTemplateHandler();
    }

    public  T getForObject(String url, Class responseType, Object... uriVariables) throws RestClientException {
        return restTemplate.getForObject(url, responseType, uriVariables);
    }

    public  T getForObject(String url, Class responseType, Map uriVariables) throws RestClientException {
        return restTemplate.getForObject(url, responseType, uriVariables);
    }

    public  T getForObject(URI url, Class responseType) throws RestClientException {
        return restTemplate.getForObject(url, responseType);
    }

    public  ResponseEntity getForEntity(String url, Class responseType, Object... uriVariables) throws RestClientException {
        return restTemplate.getForEntity(url, responseType, uriVariables);
    }

    public  ResponseEntity getForEntity(String url, Class responseType, Map uriVariables) throws RestClientException {
        return restTemplate.getForEntity(url, responseType, uriVariables);
    }

    public  ResponseEntity getForEntity(URI url, Class responseType) throws RestClientException {
        return restTemplate.getForEntity(url, responseType);
    }

    public HttpHeaders headForHeaders(String url, Object... uriVariables) throws RestClientException {
        return restTemplate.headForHeaders(url, uriVariables);
    }

    public HttpHeaders headForHeaders(String url, Map uriVariables) throws RestClientException {
        return restTemplate.headForHeaders(url, uriVariables);
    }

    public HttpHeaders headForHeaders(URI url) throws RestClientException {
        return restTemplate.headForHeaders(url);
    }

    public URI postForLocation(String url, Object request, Object... uriVariables) throws RestClientException {
        return restTemplate.postForLocation(url, request, uriVariables);
    }

    public URI postForLocation(String url, Object request, Map uriVariables) throws RestClientException {
        return restTemplate.postForLocation(url, request, uriVariables);
    }

    public URI postForLocation(URI url, Object request) throws RestClientException {
        return restTemplate.postForLocation(url, request);
    }

    public  T postForObject(String url, Object request, Class responseType, Object... uriVariables) throws RestClientException {
        return restTemplate.postForObject(url, request, responseType, uriVariables);
    }

    public  T postForObject(String url, Object request, Class responseType, Map uriVariables) throws RestClientException {
        return restTemplate.postForObject(url, request, responseType, uriVariables);
    }

    public  T postForObject(URI url, Object request, Class responseType) throws RestClientException {
        return restTemplate.postForObject(url, request, responseType);
    }

    public  ResponseEntity postForEntity(String url, Object request, Class responseType, Object... uriVariables) throws RestClientException {
        return restTemplate.postForEntity(url, request, responseType, uriVariables);
    }

    public  ResponseEntity postForEntity(String url, Object request, Class responseType, Map uriVariables) throws RestClientException {
        return restTemplate.postForEntity(url, request, responseType, uriVariables);
    }

    public  ResponseEntity postForEntity(URI url, Object request, Class responseType) throws RestClientException {
        return restTemplate.postForEntity(url, request, responseType);
    }

    public void put(String url, Object request, Object... uriVariables) throws RestClientException {
        restTemplate.put(url, request, uriVariables);
    }

    public void put(String url, Object request, Map uriVariables) throws RestClientException {
        restTemplate.put(url, request, uriVariables);
    }

    public void put(URI url, Object request) throws RestClientException {
        restTemplate.put(url, request);
    }

    public  T patchForObject(String url, Object request, Class responseType, Object... uriVariables) throws RestClientException {
        return restTemplate.exchange(url, HttpMethod.PATCH, getHttpEntity(request), responseType, uriVariables).getBody();
    }

    public  T patchForObject(String url, Object request, Class responseType, Map uriVariables) throws RestClientException {
        return restTemplate.exchange(url, HttpMethod.PATCH, getHttpEntity(request), responseType, uriVariables).getBody();
    }

    public  T patchForObject(URI url, Object request, Class responseType) throws RestClientException {
        return restTemplate.exchange(url, HttpMethod.PATCH, getHttpEntity(request), responseType).getBody();
    }

    private HttpEntity getHttpEntity(Object request) {
        if(request instanceof HttpEntity) {
            return (HttpEntity)request;
        } else if(request != null) {
            return new HttpEntity(request);
        } else {
            return HttpEntity.EMPTY;
        }
    }

    public void delete(String url, Object... uriVariables) throws RestClientException {
        restTemplate.delete(url, uriVariables);
    }

    public void delete(String url, Map uriVariables) throws RestClientException {
        restTemplate.delete(url, uriVariables);
    }

    public void delete(URI url) throws RestClientException {
        restTemplate.delete(url);
    }

    public Set optionsForAllow(String url, Object... uriVariables) throws RestClientException {
        return restTemplate.optionsForAllow(url, uriVariables);
    }

    public Set optionsForAllow(String url, Map uriVariables) throws RestClientException {
        return restTemplate.optionsForAllow(url, uriVariables);
    }

    public Set optionsForAllow(URI url) throws RestClientException {
        return restTemplate.optionsForAllow(url);
    }

    public  ResponseEntity exchange(String url, HttpMethod method, HttpEntity requestEntity, Class responseType, Object... uriVariables) throws RestClientException {
        return restTemplate.exchange(url, method, requestEntity, responseType, uriVariables);
    }

    public  ResponseEntity exchange(String url, HttpMethod method, HttpEntity requestEntity, Class responseType, Map uriVariables) throws RestClientException {
        return restTemplate.exchange(url, method, requestEntity, responseType, uriVariables);
    }

    public  ResponseEntity exchange(URI url, HttpMethod method, HttpEntity requestEntity, Class responseType) throws RestClientException {
        return restTemplate.exchange(url, method, requestEntity, responseType);
    }

    public  ResponseEntity exchange(String url, HttpMethod method, HttpEntity requestEntity, ParameterizedTypeReference responseType, Object... uriVariables) throws RestClientException {
        return restTemplate.exchange(url, method, requestEntity, responseType, uriVariables);
    }

    public  ResponseEntity exchange(String url, HttpMethod method, HttpEntity requestEntity, ParameterizedTypeReference responseType, Map uriVariables) throws RestClientException {
        return restTemplate.exchange(url, method, requestEntity, responseType, uriVariables);
    }

    public  ResponseEntity exchange(URI url, HttpMethod method, HttpEntity requestEntity, ParameterizedTypeReference responseType) throws RestClientException {
        return restTemplate.exchange(url, method, requestEntity, responseType);
    }

    public  ResponseEntity exchange(RequestEntity requestEntity, Class responseType) throws RestClientException {
        return restTemplate.exchange(requestEntity, responseType);
    }

    public  ResponseEntity exchange(RequestEntity requestEntity, ParameterizedTypeReference responseType) throws RestClientException {
        return restTemplate.exchange(requestEntity, responseType);
    }

    public  T execute(String url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor responseExtractor, Object... uriVariables) throws RestClientException {
        return restTemplate.execute(url, method, requestCallback, responseExtractor, uriVariables);
    }

    public  T execute(String url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor responseExtractor, Map uriVariables) throws RestClientException {
        return restTemplate.execute(url, method, requestCallback, responseExtractor, uriVariables);
    }

    public  T execute(URI url, HttpMethod method, RequestCallback requestCallback, ResponseExtractor responseExtractor) throws RestClientException {
        return restTemplate.execute(url, method, requestCallback, responseExtractor);
    }

    public void setInterceptors(List interceptors) {
        restTemplate.setInterceptors(interceptors);
    }

    public List getInterceptors() {
        return restTemplate.getInterceptors();
    }

    public ClientHttpRequestFactory getRequestFactory() {
        return restTemplate.getRequestFactory();
    }

    public void setRequestFactory(ClientHttpRequestFactory requestFactory) {
        restTemplate.setRequestFactory(requestFactory);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy