package licola.demo.com.huabandemo.API.HttpsAPI; import licola.demo.com.huabandemo.Module.BoardDetail.FollowBoardOperateBean; import licola.demo.com.huabandemo.Module.ImageDetail.GatherInfoBean; import licola.demo.com.huabandemo.Module.ImageDetail.GatherResultBean; import licola.demo.com.huabandemo.Module.ImageDetail.LikePinsOperateBean; import licola.demo.com.huabandemo.Module.User.FollowUserOperateBean; import licola.demo.com.huabandemo.Module.User.UserBoardSingleBean; import licola.demo.com.huabandemo.Util.Constant; import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.GET; import retrofit2.http.Header; import retrofit2.http.POST; import retrofit2.http.Path; import retrofit2.http.Query; import rx.Observable; /** * Created by LiCola on 2016/05/23 21:02 */ public interface OperateAPI { //https://api.huaban.com/pins/687738004/like //https://api.huaban.com/pins/687738004/unlike POST方法 这两个统一成一个接口 //对图片的进行like操作 @POST("pins/{pinId}/{operate}") Observable<LikePinsOperateBean> httpsLikeOperate(@Header( Constant.Authorization) String authorization, @Path("pinId") String pinsId, @Path("operate") String operate); //https://api.huaban.com/boards/967118/follow //https://api.huaban.com/boards/967118/unfollow POST方法 统一成一个接口 //对画板进行关注操作 @POST("boards/{boardId}/{operate}") Observable<FollowBoardOperateBean> httpsFollowBoardOperate( @Header(Constant.Authorization) String authorization, @Path("boardId") String boardId, @Path("operate") String operate); //关注某个用户 //https://api.huaban.com/users/17037199/follow 或者unfollow POST方法 统一成一个接口 @POST("users/{userId}/{operate}") Observable<FollowUserOperateBean> httpsFollowUserOperate(@Header(Constant.Authorization) String authorization, @Path("userId") String userId, @Path("operate") String operate); //对某个图片进行采集前网络访问 判断是否被采集过 //https://api.huaban.com/pins/707907583/repin/?check=true @GET("pins/{viaId}/repin/") Observable<GatherInfoBean> httpsGatherInfo(@Header(Constant.Authorization) String authorization, @Path("viaId") String viaId, @Query("check") boolean check); //采集某个图片 用body形式传输数据 //https://api.huaban.com/pins/ body=board_id=17891564&text=描述内容&via=707423726 @FormUrlEncoded @POST("pins/") Observable<GatherResultBean> httpsGatherPins(@Header(Constant.Authorization) String authorization, @Field("board_id") String boardId, @Field("text") String describe, @Field("via") String PinsIda); //新建画板 //https://api.huaban.com/boards body=category=类型&description=描述&title=标题 @FormUrlEncoded @POST("boards/") Observable<UserBoardSingleBean> httpsAddBoard( @Header(Constant.Authorization) String authorization, @Field("title") String title, @Field("description") String description, @Field("category") String category ); //修改某个画板的信息 //https://api.huaban.com/boards/29646779 category=photography&description=%E6%B7%BB%E5%8A%A0%E6%8F%8F%E8%BF%B0&title=%E6%B7%BB%E5%8A%A0 @FormUrlEncoded @POST("boards/{boardId}") Observable<UserBoardSingleBean> httpsEditBoard( @Header(Constant.Authorization) String authorization, @Path("boardId") String boardId, @Field("title") String title, @Field("description") String description, @Field("category") String category); //删除某个画板 //https://api.huaban.com/boards/29653031 POST BODY= _method=DELETE @FormUrlEncoded @POST("boards/{boardId}") Observable<UserBoardSingleBean> httpsDeleteBoard(@Header(Constant.Authorization) String authorization, @Path("boardId") String boardId, @Field("_method") String operate); }