Android Studio发送带有身份验证的GET请求

时间:2020-08-26 21:51:22

标签: android api rest android-studio

我有一个Android应用程序,该应用程序从具有身份验证的(我自己的)Laravel(REST)API获取数据。 我可以在没有身份验证的情况下正常工作,但在身份验证中却无法工作。

使用Postman时,我可以通过身份验证来获取数据,但是使用android进行处理似乎仍然很模糊。 也许是我稍后添加的GetHeaders()函数,或者API调用出错了。

这是我当前的GetRequest代码:

public void getRequest(String prefixUrl, final VolleyCallBack volleyCallBack) {
    StringRequest stringRequest = new StringRequest(Request.Method.GET, prefixUrl, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            volleyCallBack.onSucces(response);
            Log.d("response: ", response);
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.d("wrong", "something goes wrong errorlistener");
            Log.e("Volly Error", error.toString());
        }
    }) {
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Log.d("wrong", "something goes wrong mapstring");
            Map<String, String> headers = new HashMap<>();
            String auth = "Bearer ...";
            headers.put("Content-Type", "application/json");
            headers.put("Authorization", auth);
            return headers;
        }
    };
    requestQueue.add(stringRequest);
}

永远不会获取响应日志,但会显示 getheaders()日志。

任何帮助将不胜感激。

0 个答案:

没有答案