pda/zhuike/src/main/java/com/novelbook/android/netapi/HttpApi.java

110 lines
4.5 KiB
Java
Raw Normal View History

package com.novelbook.android.netapi;
import java.util.Map;
import io.reactivex.Observable;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.Body;
2019-06-29 22:47:08 +08:00
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
2019-04-03 23:29:58 +08:00
import retrofit2.http.Path;
2019-04-11 18:05:41 +08:00
import retrofit2.http.Query;
import retrofit2.http.QueryMap;
import retrofit2.http.Streaming;
import retrofit2.http.Url;
/**
* Created by 眼神 on 2018/3/27.
*
* 存放所有的Api
*/
public interface HttpApi {
//请填写自己的接口名
// @POST("abc")
// Observable<ResponseBody> getDataForBean(@Body DouBanMovieRequest bean);
2019-04-21 10:57:20 +08:00
@GET("top250")
Observable<ResponseBody> getDataForMap(@QueryMap Map<String, Integer> map);
/**
* 通过地址下载一个文件
*/
@GET("ab")
@Streaming
Call<ResponseBody> downloadFile(@Url String fileUrl);
2019-04-05 23:59:31 +08:00
//http://xiaoshuofenxiang.com/api/g/
2019-05-13 00:18:07 +08:00
@GET("g/")
2019-04-05 23:59:31 +08:00
Observable<ResponseBody> getMasterDomain();
//http://xiaoshuofenxiang.com/api/n/f2619820112625133c14dcb170f5e092.json
@GET("n/{id}")
Observable<ResponseBody> getNovel(@Path("id") int novelId);
2019-04-03 16:21:00 +08:00
2019-04-05 23:59:31 +08:00
//http://xiaoshuofenxiang.com/api/n/f2619820112625133c14dcb170f5e092.mulu-urls.json
@GET("n/{id}/mulu-urls")
Observable<ResponseBody> getNovelSites(@Path("id") int novelId);
2019-04-03 16:21:00 +08:00
2019-04-05 23:59:31 +08:00
//http://xiaoshuofenxiang.com/api/s/www.qu.la.json
2019-04-10 22:19:06 +08:00
@GET("s/{siteDomain}.json")
Observable<ResponseBody> getNovelRule(@Path("siteDomain") String siteDomain);
2019-04-11 18:05:41 +08:00
@GET("page/index")
2019-04-12 23:02:31 +08:00
Observable<ResponseBody> getFirstPage(@Query("sex") int Sex);
2019-04-10 22:19:06 +08:00
2019-04-18 23:34:19 +08:00
//分类的总榜显示每个小说分类有多少本书http://xiaoshuofenxiang.com/api/page/noveltype
2019-04-11 18:05:41 +08:00
@GET("page/noveltype")
Observable<ResponseBody> getCates(@Query("sex") int sex);
// sex1 2progress:1, 连载中、2已完本3. 新书 http://xiaoshuofenxiang.com/api/search/nt/言情/2?sex=2&progress=1
//@GET("search/nt/{cate}/{pageno}?sex={sex}&progress={progress} ")
// Observable<ResponseBody> search(@Query("cate") String cate, @Query("pageno") int pageno, @Query("sex") int sex, @Query("progress") int progress);
@GET("search/nt/{cate}/{pageno}")
Observable<ResponseBody> getCateNovels(@Path("cate") String cate, @Path("pageno") int pageno, @Query("sex") int sex, @Query("progress") int progress);
2019-04-12 23:02:31 +08:00
//小说排行 http://xiaoshuofenxiang.com/api/page/rank?fn=hot
@GET("page/rank")
Observable<ResponseBody> getNovelPaihang(@Query("fn") String fn,@Query("sex") int Sex);
2019-04-11 18:05:41 +08:00
2019-04-12 23:02:31 +08:00
//相关小说 http://xiaoshuofenxiang.com/api/n/6/about
@GET("n/{novelId}/about")
2019-05-14 00:03:04 +08:00
Observable<ResponseBody> getNovelsRelated(@Path("novelId") int novelId);
2019-04-12 23:02:31 +08:00
//同作者其它小说http://xiaoshuofenxiang.com/api/n/7/author
@GET("n/{novelId}/author")
2019-05-14 00:03:04 +08:00
Observable<ResponseBody> getNovelsSameAuthor(@Path("novelId") int novelId);
2019-04-12 23:02:31 +08:00
//站点榜单http://xiaoshuofenxiang.com/api/page/siteranks?sex=1
2019-05-21 23:30:59 +08:00
/* @GET("page/siteranks")
2019-04-12 23:02:31 +08:00
Observable<ResponseBody> getSiteRanks(@Query("sex") int Sex);
//http://xiaoshuofenxiang.com/api/page/siterank?fn=qidian-yuanchuangfengyunbang&pn=3
2019-04-26 00:31:07 +08:00
@GET("page/siterank")
2019-05-21 23:30:59 +08:00
Observable<ResponseBody> getSiteRankDetail(@Query("fn")String fn,@Query("pn")int pageNo,@Query("sex") int Sex);*/
2019-04-15 23:26:24 +08:00
@GET( "search/{keyword}/{pageno}")
Observable<ResponseBody> getSeachNolvelist(@Path("keyword")String keyWord,@Path("pageno")int pageNo,@Query("sex") int Sex);
2019-04-23 22:45:08 +08:00
// 搜索分类 http://xiaoshuofenxiang.com/api/page/topdata
@GET("page/topdata")
2019-05-13 00:18:07 +08:00
Observable<ResponseBody> getSearchTitles(@Query("sex") int Sex);
//返回指定id列表的小说列表api/novels/1,2
@GET("novels/{nvs}")
Observable<ResponseBody> getNovelsByIds(@Path("nvs")String nvs );
//返回指定id列表的小说列表
@GET("page/hot-keywords")
Observable<ResponseBody> getSearchHotKeys();
2019-05-11 23:21:57 +08:00
@GET("download/version.xml")
Observable<ResponseBody> getVersion();
2019-05-21 23:30:59 +08:00
@GET("page/category")
Observable<ResponseBody> getPaihangBangCateList(@Query("sex") int Sex,@Query("type") String type);
@GET("page/siteranks")
Observable<ResponseBody> getPaihangBangByCate(@Query("sex") int Sex,@Query("cid") int cid);
@GET("page/siterank")
Observable<ResponseBody> getPaihangBangList(@Query("sex") int Sex,@Query("cid") int cid,@Query("pn")int pageNo);
2019-06-29 22:47:08 +08:00
@FormUrlEncoded
@POST("r/{actionType}.shtml") //{action type}.shtml?msg=${msg}
Observable<ResponseBody> reportMsg(@Path("actionType")String actionType, @FieldMap Map<String, String> map);
2019-04-10 22:19:06 +08:00
}