Retrofit注解参数解释

  • @Path是网址中的动态参数,例如:userinfo/{phone}
    //get请求(URL携带参数)
    @GET("userinfo/{phone}")
    Call<UserInfo> getItem(@Path("phone") String phone);
    

  • @Query是URL问号后面的参数,例如:trades/{userId}?token={token}
  • @QueryMap相当于多个@Query
    @GET("/login/validate")
    Observable<BaseModel<ValidateModel>> verifyCode(@Query("phone") String phone, @Query("verificationCode") String code);
    
    //构建key-value的键值对来一起提交query
    @GET("/login/validate")
    Observable<BaseModel<ValidateModel>> verifyCode2(@@QueryMap Map<String, String> map);
    

  • @Field用于Post请求,提交单个数据,然后要加@FormUrlEncoded
  • @Body相当于多个@Field,以对象的方式提交
    @FormUrlEncoded
    @PUT("/user/updateHeadPrtrait/")
    Observable<BaseModel> updateHeadPrtrait(@Field("phone") String phone, @Field("headpPrtrait") String headpPrtrait);
    
    @POST("/user/updateUserInfo")
    Observable<BaseModel> updatePersonInfo(@Body RequestBody body);
    

  • @Streaming:用于下载大文件

  • @Header@Headers,加请求头;
    两者区别是使用方式不一样,@Header是作为请求方法的参数传入,@Headers是以固定方式直接添加到请求方法上
    @GET("userinfo/13854389438")
    Observable<BaseModel> getInfo(@Header("Authorization") String authorization, @Header("Content-Type") String contentType)
    
    @Headers({
    "Authorization:M2I0OTU4OTQ3NjY0MDNmNzRmNmUwN2Qw",
    "Content-Type:application/json; charset=UTF-8"
    })
    @GET("userinfo/13854389438")
    Observable<BaseModel> getInfo2();
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值