Retrofit笔记:
1:Get 固定参数
@GET("robot/*****") Observable<RobotInfoRspBean> getRobotInfo(@Query("***") String robotcode);
2:Get多个参数
@GET("robot/*****") Observable<RobotInfoRspBean> getRobotInfo(@QueryMap Map<String,Object> map);
3:Post固定参数
@FormUrlEncoded @POST("robot/*****") Observable<ChangeRobotInfoRspBean> changeRobotInfo(@Field("robotcode") String robotcode, @Field("language") String language, @Field("robotState") String robotState);
4:Post多个参数
@FormUrlEncoded @POST("robot/*****") Observable<OrderTypeRspBean> fetchOrderType(@FieldMap Map<String,Object> map);
5:上传多张图片
@Multipart @POST("uploadFile/*****") Observable<FeedbackUploadPicRspBean> uploadImage(@Part MultipartBody.Part part);
@Multipart @POST("uploadFile/****") Observable<FeedbackUploadPicRspBean> uploadImages(@Part List<MultipartBody.Part> partList);
//其中参数创建
List<MultipartBody.Part> list = new ArrayList<>();
for (String png : list_path){
File file = new File(FileUtils.SDPATH, png);
RequestBody requestBody = RequestBody.create(MediaType.parse("image/jpg"), file);
MultipartBody.Part imageBodyPart = MultipartBody.Part.createFormData("img", png, requestBody);
list.add(imageBodyPart);
}
7:上传图文
@Multipart @POST("uploadFile/******") Observable<FeedbackUploadPicRspBean> uploadImageAndWord(@Part List<MultipartBody.Part> partList, @Part("feedbackNote") RequestBody feedbackNote);
8:上传json
@Headers({"Content-Type: application/json","Accept: application/json"}) @POST("robot/addOrder") Observable<SubmitRspBean> firstSubmit(@Body RequestBody requestBody);
//参数创建
RequestBody requestBody=RequestBody.create(MediaType.parse("application/json; charset=utf-8"),json);
9:文件下载
@Streaming @GET Observable<ResponseBody> downloadFile(@Url String fileUrl);
10:断点下载
@GET @Streaming Observable<Response<ResponseBody>> download(@Header("Range") String range, @Url String url);