【网络】app(retorfit2+RxJava)+javaweb(服务器) retrofit2官方文档实践

本文详细介绍了Retrofit2与RxJava在Android app和Java Web服务器间交互的应用,包括@GET、@POST、@Path、@Query、@QueryMap、@Header等基本标记的使用,以及@Body、@FormUrlEncoded、@Multipart等POST方式的实现,涵盖了文件上传和参数传递的多种场景,并提供了完整示例。
摘要由CSDN通过智能技术生成

官方文档:http://square.github.io/retrofit/
下列操作,是在Retrofit环境配置好的情况下进行的。

tjstudy:写在前面,开发环境

app环境:
android studio 2.1.1
minSdkVersion 14
targetSdkVersion 23

javaweb server 环境:
MyEclipse 10
jdk 1.6

一 、最基本的标记

@GET @POST 标记:网络访问方式的最基本标记
指定访问方式,一般会写入访问地址,如果是获取的数据,还可以进行排序。
建议:base_url,最好以/结尾 @GET @POST里面的地址不以/开头。

@GET("users/list ")
@POST("users/list?dort=asc")

二 、POST 和GET方式,通用retorfit 标记

POST GET 通用:@Path @Query @QueryMap @Header
两者通用的标记:主要是指使用使用@POST 和@GET方式都能够接收到数据信息,显示效果差不多,实际开发中,根据要求使用的网络方式来进行选择
下面演示的效果大多为@GET,POST方式直接将GET 换成POST 查看了即可。

1 、 @Path:指定访问路径
@GET("{name}/UploadParam")
Observable<ResponseBody> test(@Path("name")String name);

动态传入的String 会取代{name}作为新的访问地址
这个时候访问的地址就是,base_url+name+/UploadParam

这里写图片描述

2 、@Query :提交参数—-不是表单提交,只是普通提交
@GET("servlet/UploadParam")
Observable<ResponseBody> testQuery(@Query("name") String name);

服务器结果:

这里写图片描述

3 、@QueryMap:是@Query的集合形式,能够携带更多的参数
@GET("group/{id}/users")
Call<List<User>> groupList(@Path("id") int groupId, @QueryMap Map<String, String> options);

只需要将要携带的参数都put到Map集合里面,传进来就可以了。

4 、@Header :在网络访问中添加Header信息
@Headers({
    
        
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值