【发布时间】:2017-12-31 07:52:40
【问题描述】:
我正在制作一个以 django rest api 作为后端的 android 应用程序,并希望使用用户登录时提供的令牌进行经过身份验证的网络调用。
我正在使用改造向后端发出请求。这是我现在正在做的尝试对其余 api 进行经过身份验证的网络调用。
@Override
public void loadAllUsers() {
Call<List<User>> call = userServiceApi.loadAllUsers();
call.enqueue(new Callback<List<User>>() {
@Override
public void onResponse(@NonNull Call<List<User>> call, @NonNull Response<List<User>> response) {
if (response.isSuccessful()) {
List<User> users = response.body();
eventBus.post(new LoadAllUsersEvent(users));
} else {
eventBus.post(new FailLoadAllUsersEvent());
Log.d(TAG, response.message());
}
}
@Override
public void onFailure(@NonNull Call<List<User>> call, @NonNull Throwable t) {
eventBus.post(new LoadUsersUnreachableServerEvent());
Log.d(TAG, t.toString());
}
});
}
这里是这个api请求相关的改造接口:
@GET("users/")
Call<List<User>> loadAllUsers(@Header("Authorization: Token ") Token token);
当我进行此调用时,将用户的令牌作为标头传递,我得到状态代码 401:未验证:“GET /users/ HTTP/1.1”401 58
我做错了什么让 django rest Token Authentication 工作并进行经过身份验证的 django rest api 调用?
【问题讨论】:
-
你也在使用 OkHttp 吗?
-
不,我没有使用 OkHttp。
标签: java android django-rest-framework restful-authentication