第一类:HTTP请求方法
例子:Example01
HTTP请求方法注解
以上表格中的除HTTP以外都对应了HTTP标准中的请求方法,而HTTP注解则可以代替以上方法中的任意一个注解,有3个属性:method、path,hasBody,下面是用HTTP注解实现上面 Example01的例子。
注:method 的值 retrofit 不会做处理,所以要自行保证其准确性,之前使用小写也可以是因为示例源码中的服务器不区分大小写,所以希望大家注意。
第二类:标记类
标记类注解
示例源码见 Example03 中1
第三类:参数类
参数类注解
注1:{占位符}和PATH尽量只用在URL的path部分,url中的参数使用Query和QueryMap 代替,保证接口定义的简洁
注2:Query、Field和Part这三者都支持数组和实现了Iterable接口的类型,如List,Set等,方便向后台传递数组。
Call foo(@Query(“ids[]”) List ids);
//结果:ids[]=0&ids[]=1&ids[]=2
Path 示例源码见 Example01
Field、FieldMap、Part和PartMap 示例源码见 Example03的2
Header和Headers 示例源码见 Example04
Query、QueryMap、Url 示例源码见 Example05