zoukankan      html  css  js  c++  java
  • restTemplate工具类

    import org.apache.logging.log4j.LogManager;
    import org.apache.logging.log4j.Logger;
    import org.springframework.http.HttpEntity;
    import org.springframework.http.HttpHeaders;
    import org.springframework.http.MediaType;
    import org.springframework.http.client.SimpleClientHttpRequestFactory;
    import org.springframework.web.client.RestTemplate;
    
    import java.io.UnsupportedEncodingException;
    
    public class RestTemplateUtil {
        private static Logger logger = LogManager.getLogger(RestTemplateUtil.class);
    
        public String post(String reqParam, String url) {
            // 核心返回结果报文字符串
            String returnJson = "";
    
            try {
                //复杂构造函数的使用
                SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
                requestFactory.setConnectTimeout(1000);// 设置超时
                requestFactory.setReadTimeout(1000);
    
                //利用复杂构造器可以实现超时设置,内部实际实现为 HttpClient
                RestTemplate restTemplate = new RestTemplate(requestFactory);
    
                //设置HTTP请求头信息,实现编码等
                HttpHeaders headers = new HttpHeaders();
                MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
                headers.setContentType(type);
                headers.add("Accept", MediaType.APPLICATION_JSON.toString());
    
                //利用容器实现数据封装,发送
                HttpEntity<String> entity = new HttpEntity<String>(reqParam, headers);
                returnJson = restTemplate.postForObject(url, entity, String.class);
    
                // 转码原因:RestTemplate默认是使用org.springframework.http.converter.StringHttpMessageConverter来解析
                // StringHttpMessageConverter 默认用的 ISO-8859-1来编码的
                returnJson = new String(returnJson.getBytes("ISO-8859-1"), "utf-8");
    
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
                logger.info("----------------------------------------");
                logger.info(returnJson);
                logger.info("----------------------------------------");
            }return returnJson;
        }
    }
  • 相关阅读:
    appium的log详细分析
    安卓版本6.0打开uiautomator报错
    wmware搬家
    Appium_Python_Api文档
    EF常用命令行
    Java学习----this和super(在继承中)
    Java学习----到底调用哪一个方法(多态)
    Java学习----方法的覆盖
    Java学习----对象间的继承
    Java学习----一个对象怎么调用另一个对象呢?
  • 原文地址:https://www.cnblogs.com/dongfanghao/p/8260513.html
Copyright © 2011-2022 走看看