第一次使用 Flutter。我正在使用 dio 发送 HTTP 请求,我必须为所有请求添加一个标头,我使用拦截器来做,如下所示:
Dio dio = new Dio();
dio.interceptors.add(InterceptorsWrapper(
onRequest:(RequestOptions options) async {
options.headers["X-Requested-With"] = "XMLHttpRequest";
})
);
Run Code Online (Sandbox Code Playgroud)
它在 main.dart 中工作,但如果我想导入另一个类,如 MyHomePage.dart 并在那里执行 HTTP 请求,我也必须在该类中重新定义拦截器。
如何在不将它添加到每个 .dart 文件中的情况下为我的整个应用程序实现这个拦截器?
小智 5
创建一个容纳 DIO 的函数,然后在需要的地方调用它
Dio getDio() {
Dio dio = new Dio();
dio.interceptors.add(InterceptorsWrapper(onRequest: (RequestOptions options) async {
options.headers["X-Requested-With"] = "XMLHttpRequest";
}));
return dio;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3179 次 |
| 最近记录: |