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;
        }
    }
  • 相关阅读:
    转:验证日期的正则表达式比较全面地验证
    IIS应用地址池监控
    Net预编译 真的好用与否
    关键字检索,找到所有数据
    vue 文件上传自定义实现
    docker 基础(一)
    input表单中嵌入百度地图
    linux系统光盘开机自动挂载-配置本地yum源
    linux学习笔记基础篇(一)
    构建apache web 服务器
  • 原文地址:https://www.cnblogs.com/dongfanghao/p/8260513.html
Copyright © 2011-2022 走看看