/**
* 请求接口api
*
* 1.@FormUrlEncoded
* 表示请求体是一个 form 表单,发送form-encoded的数据,每个键值对需要用@Filed来注解键名,随后的对象需要提供值。
* 2.@Multipart
* 表示请求体是一个支持文件上传的 form 表单,发送form-encoded的数据(适用于 有文件 上传的场景),每个键值对需要用@Part来注解键名,随后的对象需要提供值。
* 3.@Streaming
* 表示返回数据以流的形式返回,适用于返回数据较大的场景(如果没有使用该注解,则默认把数据全部载入内存,之后也从内存中读取数据)
*/
public interface UserApi {
/**
* 注册api
* @param 参数1
* @param 参数2
* @param 参数3
*/
@POST("aaaa/bbbb/register")
@FormUrlEncoded
Observable<Response<RegisterBean>> register(@Field("aaa") String aaa,
@Field("bbb") String bbb,
@Field("ccc") String ccc);
/**
* 绑定api 无需返回值 直接拿到状态就可以的
* @param 参数1
* @param 参数2
* @param 参数3
*/
@POST("aaaa/bbbb/register")
@FormUrlEncoded
Observable<Response> getInfo(@Field("aaa") String aaa,
@Field("bbb") String bbb,
@Field("ccc") String ccc);
}
/**
* 返回数据直接是list的
* @param aaa
* @return
*/
@POST("aaa/bbb/getInfoList")
@FormUrlEncoded
Observable<Response<List<InfoBean>>> getInfoList(@Field("aaa") String aaa);
*一:基类
https://www.jianshu.com/p/afa7294d5a56
*二:IView + IPresenter + 响应体泛型 + presenter 弱引用持有
https://www.jianshu.com/p/22e38f6aac40
*四:案例
https://www.jianshu.com/p/9a96007db24c
*五:网络管理类
https://www.jianshu.com/p/f3a60dd408c5
*推荐
Android Retrofit2.0使用详解
https://blog.csdn.net/qq_35229022/article/details/93849660
网友评论