kla*_*abe 4 rest android retrofit
我正在像这样使用Retrofit来获取所有书籍并删除所有书籍。
@GET("/books")
BookListResponse getAllBooks();
@DELETE("/clean")
Response deleteAllBooks();
Run Code Online (Sandbox Code Playgroud)
但是返回了错误状态500(内部服务器错误)。我使用Chrome静态客户端应用程序测试了这两个静态呼叫,它们可以正常工作。
但是,如果我只想买一本书或删除这样一本书
@GET("books/1")
BookResponse getOneBook();
@DELETE("books/1")
Response deleteOneBook();
Run Code Online (Sandbox Code Playgroud)
他们可以正常工作。
所以我不确定这是服务器问题还是错过了什么?
非常感谢。
小智 5
这只是语义上的问题:当您对服务器说“请删除书”,但不说要删除哪本书时,服务器不知道要做什么(在发送DELETE时会发生这种情况/ books)。因此出现错误500。但是,当您说“请删除ID为1的书”时,服务器现在知道该怎么做(在将DELETE发送到/ books / 1时会发生这种情况)。
这样设置服务器是可以的,但是我从未见过任何REST服务可以删除特定模型的所有记录。同样,如果以这种方式对服务器进行编码也可以,只需确保请求以所需的方式到达服务器即可。
毕竟,如果出现错误500,请检查服务器。当然,问题不在Android方面。
| 归档时间: |
|
| 查看次数: |
10665 次 |
| 最近记录: |