注解大全(实例代码结合RxJava)
一、方法注解(顾名思义就是针对方法的)
@GET
实例:
@POST
实例:
@PUT
实例:
@DELETE
实例:
@PATCH
实例:
@HEAD
实例:
@OPTIONS
实例:
@HTTP
实例:
二、参数注解(顾名思义就是针对参数的)
@Header
实例:
@Headers
实例:
@Url
实例:
@Body
是个啥东西:Body相当于多个@Field或@Query. 修饰实体类 使用这个注解可以把参数放到请求体(实体类)中,适用于 POST/PUT请求
在哪里使用:针对接口中定义的方法的参数(这个参数是一个实体类)来使用
什么时候使用:参数很多的时候可以使用@Body,这样非常方便
怎么使用:
//在接口服务中的定义的方法中针对参数进行使用
@GET("login")
Observable<LoginModel> login(@Body LoginBean loginBean);
注意事项:
- 使用该注解定义的参数不可为null
- @Body标签不能同时和@FormUrlEncoded、@Multipart标签同时使用
- GET请求不能使用@Body注解,否则会报错
@Path
实例:
@Field
实例:
@FieldMap
实例:
@Part
实例:
@PartMap
实例:
@Query
实例:
@QueryMap
是个啥东西:
在哪里使用:
什么时候使用:
怎么使用:
注意事项:
- QueryMap 是不能注解实体类的
三、标记
@Streaming
实例:
@FormUrlEncoded
标志是表单数据
@HeaderMap
实例:
@MultiPart
实例:
涉及到的文件
实体类
public class LoginBean {
String username;
String password;
LoginBean(String user_name, String pass_word) {
this.username = user_name;
this.password = pass_word;
}
}
结果模型 public class ResultModel { public int code; public String message; }
public interface ILoginApi {
//@Body注解的几种使用情况
@POST("login_body")
Observable<ResultModel> login_body_post(@Body LoginBean loginBean);//参数是实体类
}
实例全展示:建立一个接口服务,将所有注解进行实例展示
博采众长,为众所用
未完待续O(∩_∩)O哈哈~