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;
        }
    }
  • 相关阅读:
    SqlServer怎样获取查询语句的成本
    Testcase中Debug 提示
    cmd batch use variable
    主流数据库默认端口
    Usage of doskey
    操作系统shell的比较/Comparison of command shells
    延长windows激活时间
    一道面试题和一个结果.
    注册表操作CMD(reg.exe)
    adb 查看固件版本
  • 原文地址:https://www.cnblogs.com/dongfanghao/p/8260513.html
Copyright © 2011-2022 走看看