vue项目开发api层架构
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue项目开发api层架构相关的知识,希望对你有一定的参考价值。
参考技术A 什么是axios?官方解释 :Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。
axios 为了方便使用也提供了很多请求方法的别名:
axios.request(config)
axios.get(url[, config])
axios.delete(url[, config])
axios.head(url[, config])
axios.options(url[, config])
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])
而对于使用也有多种方式
1、有部分人喜欢在页面中直接使用
这样是很不好的方式,不利于维护,如果哪天需要修改url,那么修改涉及到的页面可能会很多。
2、我们可以对axios进行封装,将axios封装,配置、响应拦截、请求方法都在一个request.js文件中
在api.js中调用request.js请求设置URL
在到页面中调用
getUsers(data:'').then((res)=>
//处理返回结果
)
这样封装了axios,基本就满足了我们的需求,目前一些应用框架都是这样写的,比如vue-admin。 之前,我也是使用这种方式。
3、上一种方式如果要定义一个接口,需要在api.js 去调用request.js的方法。
而接下来说的只需要按模块配置URL和请求方式就可以了。
定义一个server.js文件,用来创建axios实例,配置和响应拦截。
定义一个getRequest.js 文件,将传过来的模块对象生成对应的api接口,可默认处理返回结果,如需要特殊处理可传success回调函数,也可使用promise的方式。
api.js文件,只需要配置url和type就可以。
页面调用 需要引入api.js文件,或者将api.js挂载到Vue.prototype.$api上
this.$api.vueCase(this)
this.$api.system.login(data);
我想用gin开发一个使用redis和数据库的系统。 我应该如何进行架构设计?
在设计使用 Redis 的系统和使用 Gin 的数据库时,需要牢记几个架构注意事项。 这是一个可能的架构设计:
API 层:API 层处理传入的请求并提供响应。 该层负责验证输入、验证用户并将请求路由到适当的服务层。
服务层:服务层包含应用程序的业务逻辑。 它应该负责与 Redis 和数据库进行交互,以执行 CRUD 操作、检索数据和处理数据,然后再将其发送回 API 层。
Redis 层:Redis 是一种内存数据存储,可用于缓存数据和加速读取操作。 它非常适合存储不经常更改并且可以在需要时轻松重新生成的数据。 Redis 层应该包含与 Redis 交互的代码,例如设置和检索密钥,并且应该封装在服务层中。
数据库层:数据库层永久存储应用程序的数据。 它应该负责处理数据库的读写操作,也应该封装在服务层中。
数据访问层:数据访问层为访问Redis和数据库中的数据提供了一致的接口。 该层抽象出底层数据存储的细节,并使在 Redis 和数据库之间切换或将来添加其他数据存储变得更加容易。
领域层:领域层定义应用程序的数据模型和领域逻辑。 它应该与底层数据存储无关,并且应该只依赖于数据访问层的数据访问。
总体而言,架构设计应遵循关注点分离原则,每一层负责一组特定的任务,并与其他层松散耦合。 随着时间的推移,这使得维护和修改应用程序变得更加容易。
以上是关于vue项目开发api层架构的主要内容,如果未能解决你的问题,请参考以下文章
B站云E办Vue+SpringBoot前后端分离项目——MVC三层架构搭建后台项目