我正在尝试使用 Retrofit 2.0 来实现一个图书馆系统。可以添加书籍,列出所有书籍信息,列出一本书信息,删除一本书,删除所有书籍,更新一本书信息。
我的 baseURL 末尾有一个“ / ”:
http://www.example.com/webservice/
Run Code Online (Sandbox Code Playgroud)
前三个功能非常有效:
@GET("books")
Call<ArrayList<Book>> listBooks();
@POST("books")
Call<Book> addBook(@Body Book book);
@GET("books/{id}")
Call<Book> getBookInfo(@Path("id") int bookId);
Run Code Online (Sandbox Code Playgroud)
但是,这三个根本不起作用:
@DELETE("books/{id}")
Call<Void> deleteBook(@Path("id") int bookId);
@PUT("books/{id}")
Call<Book> updateBook(@Path("id") int bookId , @Body Book book);
@DELETE("clean")
Call<Void> deleteAll();
Run Code Online (Sandbox Code Playgroud)
例如,这是我的 deleteBook 功能:
Gson gson = new GsonBuilder()
.setDateFormat(Constant.DATE_FORMAT)
.create();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Constant.BASE_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
LibraryService libraryServiceAPI = retrofit.create(LibraryService.class);
Call<Void> deleteBookCall = libraryServiceAPI.deleteBook(bookId);
deleteBookCall.enqueue(new Callback<Void>() {
@Override
public void onResponse(Call<Void> call, Response<Void> response) {
if …Run Code Online (Sandbox Code Playgroud)