springboot整合RestTemplate和使用

一、配置引入

/**
 * 配置restTemplate各项参数
 * @author 76519
 *
 */
@Configuration
public class RestTemplateConfig {
	@Bean
    public RestTemplate restTemplate(ClientHttpRequestFactory factory){
        return new RestTemplate(factory);
    }

    @Bean
    public ClientHttpRequestFactory simpleClientHttpRequestFactory(){
        SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
        factory.setReadTimeout(5000);//单位为ms//响应超时时间
        factory.setConnectTimeout(5000);//单位为ms//连接超时时间
        return factory;
    }
}

二、使用

/**
	 * 复杂的请求方式
	 * @param restTemplate 
	 * @param url	地址信息
	 * @param method	请求方式
	 * @param mapData	请求数据
	 * @param authorizationVal	请求头部传递信息
	 * @return
	 */
	public static ResponseEntity restTemplateRequest(
			RestTemplate restTemplate,
			String url,
			HttpMethod method,
			Map mapData,
			String authorizationVal){
		
		ResponseEntity<JSONObject> responseEntity = null;
		HttpEntity<Map> entity = null;
		try {
			if(!StringUtils.isNull(authorizationVal)){
				//存在需要headers中传递数据
				HttpHeaders headers = new HttpHeaders();
				headers.set("Authorization", authorizationVal);
				entity = new HttpEntity<Map>(mapData, headers);
			}else{
				entity = new HttpEntity<Map>(mapData);
			}
			responseEntity = restTemplate.exchange(url, method, entity, JSONObject.class);
		} catch (Exception e) {
			log.info("----->"+e);
		}
		return responseEntity;
	}

StringUtils中的方法

public static boolean isNull(Object str){
		return str == null || str == "" || str == "null";
	}

上面的封装请求方式支持headers中携带token信息,同时支持其他信息的传递操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值