博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Retrofit
阅读量:6258 次
发布时间:2019-06-22

本文共 1656 字,大约阅读时间需要 5 分钟。

hot3.png

Retrofit混淆

-keepattributes Signature-dontwarn retrofit2.Platform$Java8# 接口类-keep public class com.xx.api.ApiService {  *;}注意不保持接口类时会报“java.lang.IllegalArgumentException: Missing either [@GET](https://my.oschina.net/get) URL or [@Url](https://my.oschina.net/url) parameter.”

Retrofit如何处理base url和动态url的

分三种情况(base url为""):

1. 动态url包含完整的scheme和host,直接使用动态url作为最终的请求url。例如动态url为"http://apis.baidu.com/apistore/weatherservice/weather",那么最终的请求url也为"http://apis.baidu.com/apistore/weatherservice/weather"。2. 动态url包含该host,则使用base url的scheme连接动态url作为最终的请求url。例如动态url为"//apis.baidu.com/apistore/weatherservice/weather",那么最终的请求url为"https://apis.baidu.com/apistore/weatherservice/weather"。3. 动态url不包含scheme和host,则将baseurl与动态url连接起来作为最终的请求url,与在@GET后定义端点url一致。例如动态url为"/apistore/weatherservice/weather",那么最终的请求url为"https://api.weibo.com/apistore/weatherservice/weather"。

注意

[@GET](https://my.oschina.net/get)Observable
executeGet( [@Url](https://my.oschina.net/url) String url, @HeaderMap Map
headers, @QueryMap Map
maps); @GET("{url}")Observable
executeGet( @Path("url") String url, @HeaderMap Map
headers, @QueryMap Map
maps); 以上写法,url会被转义(“/”别转义为“%2F”),导致上面规则失效,总是添加baseurl@GET("{url}")Observable
executeGet( @Path(value ="url", encoded = true) String url, @HeaderMap Map
headers, @QueryMap Map
maps); 以上写法,避免被转移,正常

参考

Retrofit之请求Url	http://www.jianshu.com/p/be4007f8eac7是时候客观评价Retrofit了,Retrofit这几点你必须明白!	http://blog.csdn.net/sk719887916/article/details/53613263

转载于:https://my.oschina.net/u/2501904/blog/1554820

你可能感兴趣的文章
【等待事件】序列等待事件总结(enq: SQ - contention、row cache lock、DFS lock handle和enq: SV - contention)...
查看>>
算法与数据结构(七) AOV网的拓扑排序(Swift版)
查看>>
maven pom.xml解释 (转)
查看>>
markdown to html
查看>>
Pspice仿真器
查看>>
ogg 、 Shareplex和DSG RealSync 对比
查看>>
NK3C程序配置
查看>>
webrtc中APM(AudioProcessing module)的使用2
查看>>
lunix的查看Tomcat目录下日志的快速操作
查看>>
zabbix添加邮件报警机制
查看>>
微信开放之模板消息
查看>>
Hql 中实用查询时候 引号的使用
查看>>
利用PowerShell复制SQLServer账户的所有权限
查看>>
SQLServer 维护脚本分享(10)索引
查看>>
js里父页面与子页面的相互调用
查看>>
AES加解密【示例】
查看>>
jdbc向各种数据库发送sql语句
查看>>
比特币进一步学习-针对作弊问题的处理
查看>>
Android实现手机摄像头的自动对焦
查看>>
ASCII流程图
查看>>