简介
Objection.js 是一个使用方便、轻量级的 ORM (Object-Relational Mapping) 库,支持与多种数据库进行交互。Objection-rest 能够帮助我们快速地使用 Objection.js 来构建 RESTful API。
安装
使用 npm 安装 objection-rest:
npm install objection-rest
使用
1. 在项目中引入 objection-rest
const ObjectionRest = require('objection-rest')
2. 配置 objection-rest 需要的参数
const objectionRest = new ObjectionRest({ app, router, knex, modelsPath: '/path/to/models' })
app
:Koa 的实例router
:Koa-router 的实例knex
:Knex 的实例modelsPath
:模型文件所在的路径
3. 创建模型和路由
a. 创建模型
在 /path/to/models
中创建像下面这样的模型
-- -------------------- ---- ------- -- --------- ----- - ----- - - -------------------- ----- ------ ------- ----- - ------ --- ----------- - ------ -------- - ------ --- ------------ - ------ - ----- --------- ----------- - --- - ----- --------- -- ---------- - ----- --------- ---------- -- ---------- --- -- --------- - ----- --------- ---------- -- ---------- --- - - - - -
b. 创建路由
// routes.js const { router } = require('objection-rest') const Person = require('./path/to/models/person') router('/api/people', { model: Person })
4. 启动应用
app.use(router.routes()) app.use(router.allowedMethods()) app.listen(3000, () => { console.log('Server started on port 3000') })
现在启动应用之后,我们可以访问 /api/people
来获取 person 列表,也可以访问 /api/people/:id
来获取单个 person。
示例代码
完整的示例代码可以在以下链接中找到: Objection-rest 示例代码。
学习和指导意义
- objection-rest 让我们可以快速地使用 Objection.js 来构建 RESTful API,极大地提高了我们的开发效率。
- 对于初学者来说,objection-rest 是一个学习 Objection.js 的很好的例子,通过学习 objection-rest,我们可以快速地了解 Objection.js 的基础知识,减少学习曲线。
- objection-rest 还可以作为我们开发项目的脚手架,让我们更加专注于业务的实现,减少重复劳动,提高工作效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066f9e3d1de16d83a670b1