官方文档: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({