/*
*随时更新,学习使用中
*
*————————————-/
最近在项目中使用了Retrofit的这个网络请求库,下面记录下使用到的一些知识点。
1.注解
- GET
- POST
- Headers
- Body
- Query
示例1:Get请求
@GET("login")
/**
*BaseURL是这个:https://api.test.cn//1/
*使用get请求一般传入URL的占位符,拼接起来就是这样:
*https://api.test.cn//1/login
*---------------------*/
@GET("login")
Call<ResponseUser> checkUser(@Query("username") String username,
@Query("password") String password);
/**
* 如果请求路径是需要携带参数的,比如
* https://api.test.cn/1/login?username=xx@password=xxx
* 参数在Call的方法中使用@Query注解
*---------------------------*/
示例2:URL拼接占位符
/**
*如果URL中的占位符是动态的,可以在GET/POST中像这样声明
*用@Path注解来声明Call方法的参数
*-------------------------*/
@GET("app/{user}/{warehouse}")
Call<ResponseBody> getUserware(@Path("user") String user,
@Path("warehouse") String warehouse);
示例三:Post请求
/**
*@POST:post请求
*@Headers:多项请求头
*一般post请求,需要向服务器发送一个请求体/请求信息,也需要请求头的信息
*把向服务器发送的信息封装成一个请求体,用@Body注解来设置请求体,就可以向下面这样写请求的方法
*------------------------*/
/**
* 用户注册(Headers的数据是模拟的)
* @param registerBody 注册信息请求体
* @return
*/
@Headers({
"X-test-Application-Id:9b00125d964ekh565b4c79c06dd6c05",
"X-test-REST-API-Key:9b00125d964ekh565b4c79c06dd6c05",
"Content-Type:application/json"
})
@POST("users")
Call<SuccessBody> registeredUser(@Body RegisterBody registerBody);