[英]Retrofit GET request with a parameter
我使用Retrofit GET請求對api進行了調用。 此GET請求需要一個參數。 當我使用POSTMAN進行測試時,API可以正常工作,但是當我嘗試使用下面的API調用時,API返回
你調用的對象是空的。
@GET("/api/account/*******")
Call<ResetPassword> requestPasswordResetToken(@Query("phoneNumber") String phoneNumber);
以及我如何在活動中提出該請求的代碼。
public void requestPasswordResetToken(String phoneNumber) {
Retrofit retrofit = RetrofitClient.getClient("");
APIService mAPIService = retrofit.create(APIService.class);
final ProgressDialog loading = ProgressDialog.show(this, "Please Wait", "Loading your information...", false, false);
loading.setCancelable(true);
loading.show();
mAPIService.requestPasswordResetToken(phoneNumber).enqueue(new Callback<ResetPassword>() {
@Override
public void onResponse(Response<ResetPassword> response, Retrofit retrofit) {
if(response.isSuccess()) {
String loginSuccess = response.body().getSuccess();
String message = response.body().getMessage();
if (loginSuccess.equals("true")) {
loading.dismiss();
showSnackMessage(message);
}else {
Log.e("loginError", message);
Toast.makeText(RequestPasswordResetActivity.this, message, Toast.LENGTH_LONG).show();
loading.dismiss();
}
}
}
@Override
public void onFailure(Throwable throwable) {
Log.e("ResetPasswordError", throwable.getMessage());
Toast.makeText(RequestPasswordResetActivity.this, "Unable to Login, Please Try Again", Toast.LENGTH_LONG).show();
loading.dismiss();
}
});
}
API預期的屏幕截圖。 字段名稱正確。
您的代碼看起來不錯。 您是否檢查正在使用的api的結果格式。 並且ResetPassword類的屬性(變量名稱和類型)必須與api的響應相同。 (請注意大寫或小寫字母)。
並嘗試使用這種格式的請求
@GET("methodName/{PARAMETER}")
Call<Object> getData(
@Path("telephoneNumber") String telephoneNumber
);
確保您正在調用正確的方法,似乎正在調用requestPasswordResetToken
但是在界面內部顯示了resendVerification
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.