Retrofit网络请求框架中@注解大大大全

注解大全(实例代码结合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);

注意事项:

  1. 使用该注解定义的参数不可为null
  2. @Body标签不能同时和@FormUrlEncoded、@Multipart标签同时使用
  3. GET请求不能使用@Body注解,否则会报错

@Path

实例:

@Field

实例:

@FieldMap

实例:

@Part

实例:

@PartMap

实例:

@Query

实例:

@QueryMap

是个啥东西:

在哪里使用:

什么时候使用:

怎么使用:

注意事项:

  1. QueryMap 是不能注解实体类的
  2.  

三、标记

@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哈哈~

猜你喜欢

转载自blog.csdn.net/m0_37271466/article/details/85090483