Spring中使用RestTemplate调用第三方接口API

外部提供的API接口形式:

调用:http://192.xx.xx.xx:8080/xxxxxx/xxxx?idNo=xxxxx

返回:json字符串


需求:如何在程序中调用外部API接口获取程序所需的对象

解决方法:使用RestTemplate.exchange()方法


什么是RestTemplate?

RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。

调用RestTemplate的默认构造函数,RestTemplate对象在底层通过使用java.net包下的实现创建HTTP 请求,可以通过使用ClientHttpRequestFactory指定不同的HTTP请求方式。

ClientHttpRequestFactory接口主要提供了两种实现方式

一种是SimpleClientHttpRequestFactory,使用J2SE提供的方式(既java.net包提供的方式)创建底层的Http请求连接。

一种方式是使用HttpComponentsClientHttpRequestFactory方式,底层使用HttpClient访问远程的Http服务,使用HttpClient可以配置连接池和证书等信息


使用方法

1. pom.xml添加依赖


        
            org.apache.httpcomponents
            httpclient
            4.5
        
        
        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.8.8
        
        
            com.fasterxml.jackson.core
            jackson-core
            2.8.8
        
        
            com.fasterxml.jackson.core
            jackson-annotations
            2.8.8
        
        
            com.fasterxml.jackson.dataformat
            jackson-dataformat-xml
            2.8.8
        
        

2. 使用HttpClient连接池的方式 配置及依赖注入




    
    
        
        
        
        
    

    
        
        
        
            
                
                
            
        
        
            
                
                    
                    
                
                
                    
                    
                
                
                    
                    
                
            
        
    

    

    
        
        
        
        
        
    

    
        
        
            
        
        
            
                
                
                
                
                    
                        
                            application/json;charset=UTF-8
                        
                    
                
            
        
    

    
        
        
    

3. 定义实体类BaseRest,RestResponse

调用序列图

Spring中使用RestTemplate调用第三方接口API_第1张图片

其中核心代码就是restTemplate.exchange()方法

 

以上,就在spring中使用RestTemplate调用第三方接口的API,将其json内容转换为程序中需要的对象

参考: RestTemplate实践 这篇文章仅仅看懂一点点


你可能感兴趣的:(JavaEE)