105 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| package com.novelbook.android.netapi;
 | ||
| 
 | ||
| 
 | ||
| import java.util.Map;
 | ||
| 
 | ||
| import io.reactivex.Observable;
 | ||
| import okhttp3.ResponseBody;
 | ||
| import retrofit2.Call;
 | ||
| import retrofit2.http.Body;
 | ||
| import retrofit2.http.GET;
 | ||
| import retrofit2.http.POST;
 | ||
| import retrofit2.http.Path;
 | ||
| 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);
 | ||
| 
 | ||
|     @GET("top250")
 | ||
|     Observable<ResponseBody> getDataForMap(@QueryMap Map<String, Integer> map);
 | ||
|     /**
 | ||
|      * 通过地址下载一个文件
 | ||
|      */
 | ||
|     @GET("ab")
 | ||
|     @Streaming
 | ||
|     Call<ResponseBody> downloadFile(@Url String fileUrl);
 | ||
| 
 | ||
| //http://xiaoshuofenxiang.com/api/g/
 | ||
|     @GET("g/")
 | ||
|     Observable<ResponseBody> getMasterDomain();
 | ||
|     //http://xiaoshuofenxiang.com/api/n/f2619820112625133c14dcb170f5e092.json
 | ||
|     @GET("n/{id}")
 | ||
|     Observable<ResponseBody> getNovel(@Path("id") int novelId);
 | ||
| 
 | ||
|     //http://xiaoshuofenxiang.com/api/n/f2619820112625133c14dcb170f5e092.mulu-urls.json
 | ||
|     @GET("n/{id}/mulu-urls")
 | ||
|     Observable<ResponseBody> getNovelSites(@Path("id") int novelId);
 | ||
| 
 | ||
|     //http://xiaoshuofenxiang.com/api/s/www.qu.la.json
 | ||
|      @GET("s/{siteDomain}.json")
 | ||
|      Observable<ResponseBody> getNovelRule(@Path("siteDomain") String siteDomain);
 | ||
| 
 | ||
|     @GET("page/index")
 | ||
|     Observable<ResponseBody> getFirstPage(@Query("sex") int Sex);
 | ||
| 
 | ||
|     //分类的总榜,显示每个小说分类有多少本书http://xiaoshuofenxiang.com/api/page/noveltype
 | ||
|     @GET("page/noveltype")
 | ||
|     Observable<ResponseBody> getCates(@Query("sex") int sex);
 | ||
| 
 | ||
|     // sex:1,男, 2, 女;progress: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);
 | ||
| 
 | ||
|     //小说排行 http://xiaoshuofenxiang.com/api/page/rank?fn=hot
 | ||
|     @GET("page/rank")
 | ||
|     Observable<ResponseBody> getNovelPaihang(@Query("fn") String fn,@Query("sex") int Sex);
 | ||
| 
 | ||
|    //相关小说 http://xiaoshuofenxiang.com/api/n/6/about
 | ||
|    @GET("n/{novelId}/about")
 | ||
|    Observable<ResponseBody> getNovelsRelated(@Path("novelId") int novelId);
 | ||
|       //同作者其它小说http://xiaoshuofenxiang.com/api/n/7/author
 | ||
|     @GET("n/{novelId}/author")
 | ||
|     Observable<ResponseBody> getNovelsSameAuthor(@Path("novelId") int novelId);
 | ||
|     //站点榜单http://xiaoshuofenxiang.com/api/page/siteranks?sex=1
 | ||
| /*    @GET("page/siteranks")
 | ||
|     Observable<ResponseBody> getSiteRanks(@Query("sex") int Sex);
 | ||
|    //http://xiaoshuofenxiang.com/api/page/siterank?fn=qidian-yuanchuangfengyunbang&pn=3
 | ||
|    @GET("page/siterank")
 | ||
|    Observable<ResponseBody> getSiteRankDetail(@Query("fn")String fn,@Query("pn")int pageNo,@Query("sex") int Sex);*/
 | ||
|    @GET(  "search/{keyword}/{pageno}")
 | ||
|    Observable<ResponseBody> getSeachNolvelist(@Path("keyword")String keyWord,@Path("pageno")int pageNo,@Query("sex") int Sex);
 | ||
|     // 搜索分类 http://xiaoshuofenxiang.com/api/page/topdata
 | ||
|     @GET("page/topdata")
 | ||
|     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();
 | ||
| 
 | ||
|     @GET("download/version.xml")
 | ||
|     Observable<ResponseBody> getVersion();
 | ||
| 
 | ||
|     @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);
 | ||
| 
 | ||
| }
 |