我正在邮递员中使用下面代码中提到的相同 URL 以及在传递接受和授权的标头中使用不记名令牌发出请求。 在邮递员中,它完全正常工作并给出了所需的响应,但在我的代码中,它给出了 403-Forbidden Request,它以某种方式没有传递令牌(我假设)。
Future<ApiResponse<String>> getCompanyList() {
String token =
" ";
Map<String, String> headers = {
HttpHeaders.contentTypeHeader: "application/json",
HttpHeaders.authorizationHeader: "Bearer $token",
};
final String API = "https://.............";
return http.get(API,headers: headers).then((data) {
if (data.statusCode == 200 ) {
final jsonData = json.decode(data.body);
return ApiResponse<String>(data: jsonData, error: false, errorMessage: "");
}
return ApiResponse<String>(error: true, errorMessage: data.statusCode.toString());
}).catchError((_) => ApiResponse<String>(error: true, errorMessage: "An Error Occureddddd!!!"));
}
}
这是我的服务类,我从我的 Dart 类调用它,并且它调用正常。
class ApiResponse<T> {
T data;
bool error;
String errorMessage;
ApiResponse({this.data, this.error = false, this.errorMessage});
}
ApiResponse.dart
答案 0 :(得分:0)
您应该将标题作为地图传递
类似的东西
var res = await http.post(url, body: body,headers: {
"Accept": "*/*",
"Content-Type" : "application/json",
"Authorization" : "Bearer $token"
},);