com.apollographql.apollo.exception.ApolloHttpException: HTTP 500 内部服务器错误

问题描述

我在我的 android studio 中不断收到 HTTP 500 内部服务器错误,尝试使用 apollo 客户端为 android 调用 loginQuery,遵循本教程:link to apollo docs

然而,当我在浏览器的 graphiQL 中运行相同的查询时,它成功了。

这是工作室错误图片

android studio

这是我的代码

String userNumber = numberInput.getText().toString();
String password = passwordInput.getText().toString();
Intent intent;

LogInQuery logInQuery = LogInQuery.builder().nationalID(userNumber).password(password).build();
apolloClient.query(logInQuery).enqueue(new ApolloCall.Callback<LogInQuery.Data>() {
    @Override
    public void onResponse(@NotNull Response<LogInQuery.Data> response) {
        LogInQuery.Data data = response.getData();
        List<Error> error = response.getErrors();
        assert error != null;
        String errorMessage = error.get(0).getMessage();

        assert data != null;
        Log.d(TAG,"onResponse: " + data.login() + "-" + data.login());

        if(data.login() == null){
            Log.e("Apollo","an Error occurred : " + errorMessage);
            runOnUiThread(() -> {
                // Stuff that updates the UI
                loading.setVisibility(View.GONE);
                Toast.makeText(LogInActivity.this,errorMessage,Toast.LENGTH_LONG).show();
            });
        } else {
            runOnUiThread(() -> {
                // Stuff that updates the UI
                loading.setVisibility(View.GONE);
                Toast.makeText(LogInActivity.this,"New User Created!",Toast.LENGTH_LONG).show();

                //Intent intent = new Intent(LogInActivity.this,LogInActivity.class);
                //startActivity(intent);
            });
        }
    }

    @Override
    public void onFailure(@NotNull ApolloException e) {
        runOnUiThread(() -> {
            Log.e("Apollo","Error",e);
            Toast.makeText(LogInActivity.this,"An error occurred : " + e.getMessage(),Toast.LENGTH_LONG).show();
            loading.setVisibility(View.GONE);
        });

    }
});
}

我在互联网上找不到太多可以帮助我解决的问题。如果重复,请告诉我正确答案。

解决方法

在 Postman 中检查您的 API。它工作正常与否!如果可能,请共享 API。