springboot之RestTemplate接口封装的示例分享

书欣 SpringBoot 发布时间:2022-09-20 23:17:11 阅读数:9043 1
下文笔者讲述封装RestTemplate接口的示例分享,如下所示
实现思路:
    只需对RestTemplate方法进行相应的封装
	即可实现HttpClient的效果
例:
import java.util.Map;

import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;

public class RestTemplateToInterface {

	/**
	 * 
	 * @param hashMap 请求参数
	 * @param token token验证
	 * @param getOrPost get或者post请求
	 * @param url 请求路径
	 * @return
	 */
	public static Map<String, Object> getData(Map<String, Object> hashMap,String token,String getOrPost,String url) {
		RestTemplate restTemplate = new RestTemplate();
		//设置请求头,或其他需要需要的
		HttpHeaders httpHeaders = new HttpHeaders();
		httpHeaders.add("Content-Type", "application/json; charset=UTF-8");
        //设置参数;
        HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<Map<String, Object>>(hashMap, httpHeaders);
        ResponseEntity<String> resp = null;
        //执行请求
        if(getOrPost.equals("get")) {
        	resp = restTemplate.exchange(url, HttpMethod.GET, requestEntity, String.class);
        } else {
        	resp = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
		}
        //获取返回数据
        String body = resp.getBody();
        Map<String, Object> res = JSON.parseObject(body, new TypeReference< Map<String,Object>>() {
        });
		return res;
	}
	
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/SpringBoot/202209/4475.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者