自定义rest代理(二)
之前用HttpClient
实现了rest代理(自定义rest代理(一)),从网上看了下资料,同时针对公司已有的框架做了一些封装和改造。用Retrofit2
另外实现了一套rest代理工具包。其中基本都是都是基于Retrofit2
,自己又做了一层简单的封装。
源码在我的GitHub上:https://github.com/mx-go/retrofit-rest-proxy
Spring配置
引入Maven坐标
1 | <dependency> |
在applicationContext.xml文件中加入配置
1 | <bean id="retrofitFactory" class="com.github.proxy.core.ConfigRetrofitSpringFactory" |
其中参数:
- configLocation:配置文件所在路径。支持多个配置文件路径,以英文**,**隔开。
- type:接口所在的路径。
基础配置
针对Spring配置中的configLocation。有配置中心可修改源码从配置中心获取。以下举个例子:
rest-proxy.json
1 | { |
配置中可以存在多个KV。
- domain:HTTP请求的基础域名,同时可指定为IP地址。必填。
- desc:功能描述,无其他用处。
- readTimeout:读取超时时间(ms)。对应
Retrofit2
中的readTimeout。缺省5000ms。 - connectTimeout:连接超时时间(ms),对应
Retrofit2
中的connectTimeout。缺省5000ms。
接口
示例中用的是SendHttp测试接口:
1 |
|
重点说一下**@RetrofitConfig**注解。此注解为自定义注解,其中:
- value:对应的是基础配置中的Key。
- desc:描述。
其余注解和使用与retrofit2
一致,使用retrofit2
中注解即可。
使用
在service层或manager层直接注入配置完成的所需接口:
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 彩虹马的博客!
评论