dio拦截器 flutter_Flutter 中 Dio 拦截器

news/2024/12/22 18:30:31/

有时我们不需要复杂的应用程序,只需要显示一个数据列表的简单功能,我们可以通过一个简单的方法来实现:

Future fetchItems() {

return Dio().("https://some-website.com/listing");

}

复制代码

没有任何错误,也不用用log打印任何响应信息。

但是事实是,几乎没有这么简单的应用程序,有时我们需要做更多用于从服务器获取响应或调试我们的应用程序,比如:

将动态的Header发送给服务器,比如存储在SharedPreferences中的值。

检查每个响应头并保存他的值。

验证服务器返回的错误并将他们映射到我们应用程序中能够处理的错误类中。

另外,我们希望为我们的应用添加简单的缓存功能,以便在连接超时或用户无法访问网络时,可以显示该请求的缓存响应;

我们也可以添加log日志来打印我们的请求和响应信息。

Interceptors拦截器将通过为我们提供错误,请求和响应的特定回调来帮助我们处理这些问题。

在深入之前,我们先来看一下如何配置Dio。

Dio 配置

可以通过BaseOption来配置Dio,该对象允许我们设置一些参数来初始化Dio实例: connectTimeout,receiveTimeout和baseUrl,他们将用于每个Api的调用。

Dio createDio() {

return Dio(

BaseOptions(

connectTimeout: 5000,

receiveTimeout: 5000,


http://www.ppmy.cn/news/667464.html

相关文章

自定义注解+拦截器优化项目代码

自定义注解拦截器的优势 类似用户权限或者接口限流的需求,但并不是所有操作或者接口需要。可以使用过滤器或者拦截器,但这样就必须在配置文件里加上所有方法或者使用通配符。 所以可以采用一种比较简单灵活的方式:采用自定义注解加Spring拦截…

Vue + Spring Boot 项目实战(六):前端路由与登录拦截器

本篇目录 前言一、前端路由二、使用 History 模式三、后端登录拦截器1.LoginController2.LoginInterceptor3.WebConfigurer4.效果检验 四、Vuex 与前端登录拦截器1.引入 Vuex2.修改路由配置3.使用钩子函数判断是否拦截4.修改 Login.vue5.效果检验 前言 这一篇主要讲前端路由与…

Springboot 拦截器链 - 加载拦截器

Springboot 拦截器链 - 加载拦截器 1.创建拦截器 // 创建拦截器需要实现 HandlerInterceptor 接口 @Slf4j public class HandleInterceptorImpl implements HandlerInterceptor{@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response,…

java拦截器没有生效_拦截器不生效

解决思路: 1、SpringMVC springMVC容器中需要添加相关配置,其中的 authenticationInterceptor就是目标拦截器 2、SpringBoot SpringBoot中的就需要区分是1.X还是2.X这个里面是有说法的,可以去网上百度 通过@Configuration注解将拦截器配置实现,这个只是其中一种方式; @Con…

拦截器原理多个拦截器执行顺序

拦截器原理多个拦截器执行顺序 1、根据当前请求,找到**HandlerExecutionChain【可以处理请求的handler以及handler的所有 拦截器】 2、先来顺序执行 所有拦截器的 preHandle方法 1、如果当前拦截器prehandler返回为true。则执行下一个拦截器的preHandle2、如果当…

java SpringBoot登录验证token拦截器

用户访问接口验证,如果用户没有登录,则不让他访问除登录外的任何接口。 实现思路: 1.前端登录,后端创建token(通过JWT这个依赖),返给前端 2.前端访问其他接口,传递token,后端判断…

Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截

重要链接: 「系列文章目录」 「项目源码(GitHub)」 本篇目录 前言一、登出功能开发1.后端2.前端 二、完善的访问拦截1.认证方案(session 与 token)- session- token 2.客户端存储方案 (cookie、localStor…

HTTPS原理-使用-请求拦截-防止拦截-动态调试HTTP请求

HTTPS (全称:HyperText Transfer Protocol over Secure Socket Layer) Google 很早就使用了HTTPS,主要是为了保证用户的数据安全。 Google、Baidu、Facebook 、字节跳动这样的互联网巨头,都在广泛使用HTTPS搭建网站、…