Android网络访问之Retrofit使用教程
interface PersonService {
//接口1:https://www.baidu.com/person.json
@GET("person.json") //表示发起的是GET请求,传入请求的地址(相对路径,重复根路径在后面配置)
fun getPerson(): Call> //返回值必须声明成Retrofit内置的Call类型,通过泛型指定服务器返回的具体数据类型
//接口2:https://www.baidu.com/
@GET("{page}/get_data.json") //使用 {page} 占位
fun getData(@Path("page") page: Int): Call //使用 @Path("page")注解来声明对应参数
//接口3:https://www.baidu.com/person.json?u=
@GET("person.json")
fun getData(@Query("u") user: String, @Query("t") token: String): Call
//接口4:https://api.caiyunapp.com/v2/place?query=北京&token={token}&lang=zh_CN
@GET("v2/place?token=${GlobalApplication.TOKEN}&lang=zh_CN") //不变的参数固定写在GET里
fun searchPlaces(@Query("query") query: String): Call
//接口5:https://www.baidu.com/data/
@DELETE("data/{id}")
fun deleteData(@Path("id") id: String): Call
//接口6:https://www.baidu.com/data/create{"id": 1, "content": "The description for this data."}
@POST("data/create")
fun createData(@Body data: Data): Call
//接口7:http://example.com/get_data.json
// User-Agent: okhttp //header参数就是键值对
// Cache-Control: max-age=0
//静态声明
@Headers("User-Agent: okhttp", "Cache-Control: max-age=0")
@GET("get_data.json")
fun getData(): Call
//动态声明
@GET("get_data.json")
fun getData(@Header("User-Agent") userAgent: String, @Header("Cache-Control") cacheControl: String): Call
}
- .NET Core系列之MemoryCache 初识
- 007手机一键Root(安机网一键Root) v3.0 官方最新版 一键ROOT您的Android手机
- 12306密码被盗了怎么办?12306密码外泄解决方法
- 12个字的qq网名
- 150M迷你型无线路由器怎么设置?
- 192.168.1.1打不开怎么办?路由器192.168.1.1打不开的原因以及解决办法
- 2011年电子报合订本 电子报 编辑部 中文 PDF版 [84M]
- 2015年1月15日小米新旗舰发布会现场图文直播
- 2016.3.1vivo Xplay5新品发布会现场视频直播 优酷直播
- 2016华为P9发布会视频直播地址 4月15日华为P9国行发布会直播