zoukankan      html  css  js  c++  java
  • http-restTemplate方式调用

    RestTemplate请求封装工具类

    package com.zkml.logistics.web.utils;
    
    import com.zkml.common.util.MyUtil;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.http.*;
    import org.springframework.util.MultiValueMap;
    import org.springframework.web.client.RestTemplate;
    
    import java.util.Map;
    
    /**
     * RestTemplate请求封装工具类
    public class RestTemplateUtil {
    
        private static final Logger logger = LoggerFactory.getLogger(RestTemplateUtil.class);
    
        private static RestTemplate TEMPLATE = new RestTemplate();
    
        /**
         * post方式提交实体类
         *
         * @param url
         * @param paramsMap
         * @return
         */
        public static String postForEntity(String url, Map<String, Object> paramsMap) {
            String json = MyUtil.getJsonString(paramsMap);
            HttpHeaders headers = new HttpHeaders();
            headers.setContentType(MediaType.APPLICATION_JSON);
            HttpEntity<String> httpEntity = new HttpEntity<>(json, headers);
            ResponseEntity response = TEMPLATE.postForEntity(url, httpEntity, String.class);
            logger.info("RestTemplate result:" + response.getBody());
            return response.getBody().toString();
        }
    
        /**
         * 带mlyToken请求,支持get/post等
         *
         * @param url
         * @param method
         * @param paramsMap
         * @param mlyToken
         * @return
         */
        public static String exchangeWithToken(String url, HttpMethod method, Map<String, Object> paramsMap, String mlyToken) {
            HttpHeaders headers = new HttpHeaders();
            headers.add("Authorization", mlyToken);
            ResponseEntity response;
            if(HttpMethod.POST == method){
                String json = MyUtil.getJsonString(paramsMap);
                headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
                HttpEntity httpEntity = new HttpEntity<>(json, headers);
                response = TEMPLATE.postForEntity(url, httpEntity, String.class);
            }else if (HttpMethod.PUT == method){
                String json = MyUtil.getJsonString(paramsMap);
                headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
                HttpEntity httpEntity = new HttpEntity<>(json, headers);
                response = TEMPLATE.exchange(url, method, httpEntity, String.class, paramsMap);
            }else{
                HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(null, headers);
                response = TEMPLATE.exchange(url, method, httpEntity, String.class, paramsMap);
            }
            logger.info("RestTemplate请求result:" + response.getBody());
            return response.getBody().toString();
        }
    }
    
  • 相关阅读:
    JS 数组去重复值
    git 上传项目 到github
    IntelliJ IDEA 创建maven 项目 并且,将springMVC 与Mybatis 整合
    easyui datagrid 动态添加columns属性
    codeMirror的简单使用,js比较文本差异(标注出增删改)
    sql注入
    Web For Pentester靶场
    一些数据库
    nginx的使用场景
    dockerfile
  • 原文地址:https://www.cnblogs.com/fangh816/p/13295656.html
Copyright © 2011-2022 走看看