美文网首页
Retrofit接口实例

Retrofit接口实例

作者: 河马过河 | 来源:发表于2018-08-30 17:48 被阅读131次

一、接口实例

public interface MainApi {
    /**
     * [@Headers 添加固定头部信息]
     *
     * @param timestamp @Header 添加动态头部信息
     * @param id        @Path {占位符}
     * @param time      @Query添加url请求参数
     * @param params    @QueryMap添加url请求参数
     * @return
     */
    @Headers({"Cache-Control: public, max-age=60"})
    @GET("article/list/{id}/json")
    Observable<MainDataBean> getMainData(@Header("timestamp") String timestamp, @Path("id") int id, @Query("time") String time, @QueryMap Map<String, String> params);

    /**
     * [@Url 注解与BaseURL关系]
     *
     * @param url 1、在注解中提供的url是完整的url,则url将作为请求的url
     *            2、在注解中提供的url是不完整的url,且不以 / 开头,则请求的url为baseUrl+注解中提供的值
     *            3、在注解中提供的url是不完整的url,且以 / 开头,则请求的url为baseUrl的主机部分+注解中提供的值
     * @return
     */
    @GET
    Observable<Response<Void>> getUrlData(@Url String url);

    /**
     * @param registerParamBean @Body GSON格式的Body体
     * @return
     */
    @POST("user/register")
    Observable<Response<Void>> postRegister(@Body RegisterParamBean registerParamBean);

    /**
     * @param params @FieldMap 表单格式的Body体--配合 @FormUrlEncoded使用
     * @return
     */
    @FormUrlEncoded
    @POST("user/register")
    Observable<RegistResponseBean> postRegister(@FieldMap Map<String, String> params);

    /**
     * @param params @FieldMap 表单格式的Body体--配合 @FormUrlEncoded使用
     * @return
     */
    @FormUrlEncoded
    @POST("user/login")
    Observable<LoginResponseBean> postLogin(@FieldMap Map<String, String> params);

    /**
     * @param username@Field 表单格式的Body体--配合 @FormUrlEncoded使用
     * @param password@Field 表单格式的Body体--配合 @FormUrlEncoded使用
     * @param nick@Query     添加URL上请求参数   @Query与@Field区别:@Query是把参数添加到URL后面,而@Field则是Body里面
     * @return
     */
    @FormUrlEncoded
    @POST("user/login")
    Observable<LoginResponseBean> postLogin(@Field("username") String username, @Field("password") String password, @Query("nick") String nick);

}

二、TODO

1、Part、 PartMap、MultilPart用法实例
2、Streaming用法实例
2、图片上传、文件上传
3、断点上传、下载

河马过河微信公众号.jpg

相关文章

  • Retrofit2 post异步请求

    请求步骤: 1,定义接口(封装URL地址和数据请求)2,实例化Retrofit3,通过Retrofit实例创建接口...

  • Retrofit2 post同步请求

    请求步骤: 1,定义接口(封装URL地址和数据请求)2,实例化Retrofit3,通过Retrofit实例创建接口...

  • Retrofit2 get同步请求

    请求步骤: 1,定义接口(封装URL地址和数据请求)2,实例化Retrofit3,通过Retrofit实例创建接口...

  • Retrofit2 get异步请求

    请求步骤: 1,定义接口(封装URL地址和数据请求)2,实例化Retrofit3,通过Retrofit实例创建接口...

  • Retrofit源码分析

    用法:retrofit是怎么创建service接口实例的? 调用retrofit 的create方法,通过动态代理...

  • Retrofit2的学习使用

    1、添加依赖 2、建立接口 3、创建retrofit实例 4、代码调用retrofit 以下部分摘抄 隔壁老李头...

  • 主流开源库-Retrofit的使用

    基本使用 github官网 官方文档 第一定义一个接口 第二步创建Retrofit和接口的实例 根据接口实例调用...

  • Retrofit接口实例

    一、接口实例 二、TODO 1、Part、 PartMap、MultilPart用法实例2、Streaming用法...

  • Retrofit源码流程

    1.介绍和基本使用 Retrofit主要就是为我们定义的接口创造了一个实例,然后这个实例调用接口中的方法将我们定义...

  • Retrofit源码赏析二 —— 主流程

    创建Retrofit实例 Retrofit采用构造者模式来创建实例。 Retrofit.Builder Retro...

网友评论

      本文标题:Retrofit接口实例

      本文链接:https://www.haomeiwen.com/subject/izydwftx.html