restTemplate请求

注入配置xml:
    <!-- 配置RestTemplate -->
    <!--Http client Factory-->  
    <bean id="httpClientFactory" class="org.springframework.http.client.SimpleClientHttpRequestFactory">  
        <property name="connectTimeout"  value="5000"/>
        <property name="readTimeout"  value="35000"/>
    </bean>  
       
    <!--RestTemplate-->  
    <bean id="restTemplate" class="org.springframework.web.client.RestTemplate">  
        <constructor-arg ref="httpClientFactory"/>  
    </bean>
    
    
@Autowired
private RestTemplate restTemplate;    

GET请求:
    参数设置: 
        UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url);
        for (Map.Entry<String, Object> map : params.entrySet()) {
            builder.queryParam(map.getKey(), map.getValue());
        }
        其中params为map结构传入的参数。
            
    调用方法:restTemplate.getForObject(builder.build().toString(), responseType, params);
        builder.build().toString()为上面参数设置字符串
        responseType为class,返回数据类型class
        params为传入的map参数
            
            
POST请求:    
    参数设置:
        HttpHeaders headers = new HttpHeaders();
        MultiValueMap<String, String> map= new LinkedMultiValueMap<String, String>();
        for (Map.Entry<String,String> entry : params.entrySet()) {
            map.add(entry.getKey(), entry.getValue());
        }
        使用MultiValueMap 其中params为map结构传入参数。
        headers为头文件,我使用中暂未设置过
    
    封装httpEntity:
        HttpEntity<MultiValueMap<String, String>> httpEntity = new HttpEntity<MultiValueMap<String, String>>(map, headers);
    
    调用方法
        ResultMsg resultMsg = (ResultMsg) restTemplate.postForObject(url, httpEntity, responseType);
        url:请求地址
        responseType:返回数据类型class
    
PUT请求:
    参数设置:
        HttpHeaders headers = new HttpHeaders();
        MultiValueMap<String, String> map= new LinkedMultiValueMap<String, String>();
        for (Map.Entry<String,String> entry : params.entrySet()) {
            map.add(entry.getKey(), entry.getValue());
        }
        使用MultiValueMap 其中params为map结构传入参数。
        headers为头文件,我使用中暂未设置过
        
    封装httpEntity:
        HttpEntity<MultiValueMap<String, String>> httpEntity = new HttpEntity<MultiValueMap<String, String>>(map, headers);
        
    调用方法:
        restTemplate.exchange(url, HttpMethod.PUT,httpEntity, responseType);
        url:请求地址
        HttpMethod.PUT:请求方式为PUT
        responseType:返回数据类型class
        

     
     
        
        
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值