0
我正在使用改造@POST一個新的用戶對象到我的服務器。用戶名是數據庫表中的唯一鍵。如果我使用唯一的用戶名執行異步調用,則會將該條目添加到用戶表中。答案是成功的。改造 - 知道POST何時失敗
但是,如果我嘗試執行具有現有用戶名的用戶的呼叫,則該條目不會添加到數據庫表(如預期)但是響應成功。在所有情況下,我都獲得了成功的迴應。
如何通知/檢查操作是否成功?如果創建/更新/刪除調用成功反映在數據庫中?
端點:
@POST("user")
Call<User> saveUser(@Body User m);
樣品電話:
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
try {
if(response.isSuccessful()) {
Log.i(Constants.LOG, response.raw().toString());
}
} catch (Exception e) {
Log.e(Constants.LOG, e.toString());
}
}
原始響應輸出中的所有場景:
Response{protocol=http/1.1, code=200, message=OK, url=http://myapi.com/user}
每你的服務器返回狀態碼200嗎? –
如果您成功地點擊網絡服務,無論您的工作是否完成,您每次都會收到200個狀態碼。我建議你把日誌放在你的服務器代碼中,看看事情發生了什麼,處理你的異常併爲客戶端返回一個合適的響應,這樣你就會失敗或者失敗。 –
好的,但我如何檢查操作是否成功?在我的休息應用程序中,如果使用郵遞員測試我的電話,我可以返回成功/不成功的郵件。如何使用改造返回這樣的信息? – Santiago