首页 > 解决方案 > Flutter Get Request with Bearer Token (JWT) - Django 后端

问题描述

我有从登录获得的 Api 密钥。如何使用该密钥向服务器发出 http.get 请求?

这是我的钥匙:

"access": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNTU5MTc3NDg4LCJqdGkiOiIxZGU5MzlkNTNiYWQ0NDM4OWZjOGQ5MDJmYmRkMzYzMyIsInVzZXJfaWQiOjF9.vQFnfQSeTgxeOav--H4a5nf2Rs0xMWyDRewp9kkZXks"

运动课:

class Exercise {
  final int id;
  final String name;

  Exercise(this.id, this.name);

  Exercise.fromJson(Map<String, dynamic> j)
  : id = j['id'],
    name = j['name'];
}

获取没有令牌的请求(不起作用,我需要一个解决方案):

Future<List<Exercise>> _getExercises() async {
http.Response data = await http.get(
  'url:8000/api/database/exercises/');
List jsonData = json.decode(data.body);
List<Exercise> allExercises = jsonData.map<Exercise>((j) => Exercise.fromJson(j)).toList();
return allExercises;
}

标签: flutterdartdjango-rest-frameworkgetjwt

解决方案


我认为您正在尝试在请求中传递您的访问令牌。您可以像这样在标头中传递令牌:

 http.get(url, headers: <String,String>{'access':token});

推荐阅读