RestTemplate


`
import org.springframework.http.*;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;

import java.net.InetSocketAddress;
import java.net.Proxy;
import java.util.Collections;

/**
*RestTemplate工具類
*
*/
public class RestTemplateUtils {

public static Object getHttpUrlEncodeRequest(String url, Object request) {
    Object result = null;
    //設置代理
    RestTemplate restTemplate = new RestTemplate(new SimpleClientHttpRequestFactory() {
        {
            setProxy(new java.net.Proxy(Proxy.Type.HTTP, new InetSocketAddress("hostname", Integer.parseInt("8080"))));
        }
    });
    //設置請求頭
    HttpHeaders httpHeaders = new HttpHeaders();
    //請求格式,可以設置別的類型urlencoded類型在請求時會自動將請求參數進行urlencode不用事先進行處理。
    httpHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
    //設置參數,請求體可以為Sring,json等類型
    MultiValueMap<String,Object> params=new LinkedMultiValueMap<>();
    params.put("id", Collections.singletonList(request));
    HttpEntity<Object> objectHttpEntity = new HttpEntity<>(params, httpHeaders);
    try {
        ResponseEntity<Object> response = restTemplate.exchange(url, HttpMethod.POST, objectHttpEntity, Object.class);
        result = response.getBody();
        int code = response.getStatusCodeValue();
    } catch (RestClientException e) {
        e.printStackTrace();
    }
    return result;
}

public static Object getHttpJsonRequest(String url, Object request) {
    Object result = null;
    //設置代理
    RestTemplate restTemplate = new RestTemplate(new SimpleClientHttpRequestFactory() {
        {
            setProxy(new java.net.Proxy(Proxy.Type.HTTP, new InetSocketAddress("hostname", Integer.parseInt("8080"))));
        }
    });
    //設置請求頭
    HttpHeaders httpHeaders = new HttpHeaders();
    //請求格式,可以設置別的類型
    httpHeaders.setContentType(MediaType.APPLICATION_JSON);
    //設置請求體,請求體可以為Sring,json等類型
    HttpEntity<Object> objectHttpEntity = new HttpEntity<>(request, httpHeaders);
    try {
        ResponseEntity<Object> response = restTemplate.exchange(url, HttpMethod.POST, objectHttpEntity, Object.class);
        result = response.getBody();
        int code = response.getStatusCodeValue();
    } catch (RestClientException e) {
        e.printStackTrace();
    }
    return result;
}

}
`


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM