改造与参数GET请求(Retrofit GET request with a parameter)

2019-10-29 09:24发布

我提出用改造GET请求的API的调用。 此GET请求需要一个参数。 该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所期待的。 字段名称是正确的。

Answer 1:

你的代码看起来不错。 你检查你正在使用的API的结果的格式。 并且还ResetPassword类属性(变量名称和类型)必须是相同的与API的响应。 (小心大写或小写字母)。

而且还尝试这种格式要求

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


Answer 2:

请确保您调用正确的方法,你似乎在呼吁requestPasswordResetToken但你展示resendVerification您的界面中。



文章来源: Retrofit GET request with a parameter