簡體   English   中英

使用參數改造GET請求

[英]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的期望。

您的代碼看起來不錯。 您是否檢查正在使用的api的結果格式。 並且ResetPassword類的屬性(變量名稱和類型)必須與api的響應相同。 (請注意大寫或小寫字母)。

並嘗試使用這種格式的請求

  @GET("methodName/{PARAMETER}")
Call<Object> getData(
        @Path("telephoneNumber") String telephoneNumber
);

確保您正在調用正確的方法,似乎正在調用requestPasswordResetToken但是在界面內部顯示了resendVerification

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM