Retrofit2.0 简单使用总结


初始化Retrofit
String BASE_URL = "http://102.10.10.132/api/" ;Retrofit retrofit = new Retrofit.Builder() .baseUrl(BASE_URL) .build();
=================================== get请求 ====================================================
1.直接拼在后面
@GET ( "News" ) Call<NewsBean> getItem ();
2.(@Path)替换括号内参数
@GET ( "News/{newsId}" ) Call<NewsBean> getItem (@Path( "newsId" ) String newsId) ;
@GET ( "News/{newsId}/{type}" ) Call<NewsBean> getItem (@Path( "newsId" ) String newsId, @ Path ( "type" ) String type) ;
3.(@Query)相当于 ?a=1&b=2;
@GET ( "News" ) Call<NewsBean> getItem (@Query( "newsId" ) String newsId) ;
4.(@Querymap)多个参数在URL问号之后,且个数不确定;
@GET ( "News" ) Call<NewsBean> getItem (@QueryMap Map<String, String> map) ;
@GET ( "News" ) Call<NewsBean> getItem ( @Query( "newsId" ) String newsId, @QueryMap Map<String, String> map) ;


=================================== POST请求 ====================================================
1.(@FormUrlEncoded)这个参数必须存在;(@Field)为一个表单;(@Path)这个参数直接替换
@FormUrlEncoded @POST ( "Comments/{newsId}" ) Call<Comment> reportComment ( @Path( "newsId" ) String commentId, @ Field ( "reason" ) String reason) ;
2.(@FormUrlEncoded)这个参数必须存在;(@Field)为一个表单;(@Query)为拼接Url的?a=1&b=2;
@FormUrlEncoded @POST ( "Comments/{newsId}" ) Call<Comment> reportComment ( @Path( "newsId" ) String commentId, @ Query ( "access_token" ) String access_token, @ Field ( "reason" ) String reason) ;
3.(@FormUrlEncoded)这个参数必须存在;(@Field)为一个表单;(@Path)这个参数直接替换;(@Body)为一个Bean对象 不常用;
@POST ( "Comments/{newsId}" ) Call<Comment> reportComment ( @Path( "newsId" ) String commentId, @ Query ( "access_token" ) String access_token, @Body CommentBean bean) ;


总结
@Path:所有在网址中的参数( URL的问号前面 ),如:
@Query: URL问号后面的参数 ,如:
@QueryMap: 相当于多个@Query
@Field: 用于POST请求,提交单个数据
@Body: 相当于多个@Field,以对象的形式提交
TIps
  • Tip1
使用@Field时记得添加@FormUrlEncoded
  • Tip2
若需要重新定义接口地址,可以使用@Url ,将地址以参数的形式传入即可。如
@GET Call<List<Activity>> getActivityList( @Url String url, @QueryMap Map<String, String> map);
Call<List<Activity>> call = service.getActivityList( "http://115.159.198.162:3001/api/ActivitySubjects" , map);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值