我是flutter的新手,我正在使用http包进行网络调用。如果请求的响应代码为200,我想刷新令牌并再次调用请求。我如何使用http包实现这一点?我听说过dio包,但对我来说很复杂。
User getUser(){
final response = http.post(Uri.https(BASE_URL, '/api/user'),
headers: {'Authorization: Bearer $token'});
if(response.statusCode == 200){
return User.fromJson(jsonDecode(response.body)['user']);
}
else if(response.statusCode == 401){
//refresh token and call getUser again
}
}
3条答案
按热度按时间hmae6n7t1#
可以按如下方式使用刷新标记:
jexiocij2#
您可以使用dart的
http/retry
包:bvhaajcl3#
调用API以在到期后刷新令牌
您可以使用此[软件包][1]
[1]:https://pub.dev/packages/jwt_decoder检查令牌是否过期
还可以获取自创建内标识以来的时间和过期日期