AdonisJS是一款基于Node.js的Web框架,而adonis-crud-api则是一款为AdonisJS应用程序添加CRUD(增加、读取、更新、删除)API的npm包。本文将详细介绍如何使用adonis-crud-api来开发一个简单的REST API应用程序。
环境准备
在使用adonis-crud-api之前,您需要确保本地环境已经安装了Node.js、npm包管理器和AdonisJS框架。
如果您尚未安装Node.js和npm,请访问官方网站 https://nodejs.org 进行下载和安装
在安装完成Node.js和npm之后,请打开终端并输入以下命令来安装AdonisJS框架
npm i -g @adonisjs/cli
安装adonis-crud-api
使用npm包管理器安装adonis-crud-api很简单。在终端中输入以下命令即可:
npm i adonis-crud-api --save
创建AdonisJS应用程序
在开始使用adonis-crud-api之前,我们需要先创建一个新的AdonisJS应用程序。在终端中输入以下命令:
adonis new my-app
配置adonis-crud-api
- 首先,让我们在顶级目录下创建一个
.env
文件,并在其中添加以下内容:
PORT=3333 HOST=127.0.0.1 NODE_ENV=development APP_KEY=[your-app-key]
- 将
app/providers/AppProvider.js
文件中的以下代码:
// .. const providers = [ // .. '@adonisjs/lucid/providers/LucidProvider' ]; // ..
更新为:
//.. const providers = [ //.. '@adonisjs/lucid/providers/LucidProvider', 'adonis-crud-api/providers/CrudApiProvider' ]; //..
- 将
start/app.js
文件最后一行的:
module.exports = app
更新为:
const server = require('http').Server(app) const io = use('socket.io')(server) server.listen(process.env.PORT || 3333, () => { console.log(`Server running at http://${process.env.HOST}:${process.env.PORT}`) })
创建CRUD API
现在,我们可以通过以下命令来创建一个新的crud-api控制器和路由:
adonis make:crud-api User
这个命令将在app/Controllers/Http
目录下生成一个新的控制器UserController.js
,和在start/routes.js
文件中添加新的路由。
API示例
我们来看一个简单的例子:创建一个books
表格,用于记录书籍信息。该表包含以下字段:id
、title
、author
、publisher
、price
。
- 首先,我们需要创建一个新的AdonisJS应用程序,并安装adonis-crud-api。
adonis new myapp cd myapp npm i adonis-crud-api --save
- 在
.env
文件中开启Mysql数据库,并在其中添加以下配置
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_USER=root DB_PASSWORD= DB_DATABASE=books
- 生成本地开发配置文件
adonis key:generate
- 创建books表
adonis migration:create books
- 然后编辑
database/migrations/TIMESTAMP_books.js
文件,增加如下内容:
-- -------------------- ---- ------- ---- ------- ----- ------ - ------------- ----- ----------- ------- ------ - ---- - -------------------- ------- -- - ------------------ ----------------------------------- ------------------------------------ --------------------------------------- ---------------------------------- ------------------ -- - ------ - ------------------ - - -------------- - ------------
- 运行迁移
adonis migration:run
- 通过执行如下命令创建CRUD API
adonis make:crud-api Book -m App/Models/Book -c App/Controllers/Http/BookController --validator App/Validators/BookValidator
- 然后您就可以通过POST方式请求create方法来创建一个新的书籍记录:
curl --header "Content-Type: application/json" \ --request POST \ --data '{"title":"Book one","author":"John Smith","publisher":"Penguin Random House","price":20.99}' \ http://localhost:3333/api/v1/books
- 通过GET方式请求index方法来获取全部书籍列表:
curl http://localhost:3333/api/v1/books
- 通过GET方式请求show方法来获取某一书籍详情:
curl http://localhost:3333/api/v1/books/1
- 通过PUT方式请求update方法来更新某一书籍记录:
curl --header "Content-Type: application/json" \ --request PUT \ --data '{"title":"Updated Book title"}' \ http://localhost:3333/api/v1/books/1
- 通过DELETE方式请求delete方法来删除某一书籍记录:
curl --request DELETE http://localhost:3333/api/v1/books/1
结论
在本文中,我们简要地介绍了npm包adonis-crud-api的使用方法,并且通过一个具体的例子来说明了如何使用它在AdonisJS应用程序中构建一个REST API。这个例子只是一个简单的入门教程,如果您打算在实际项目中使用这个npm包,您需要更加详细地阅读文档并掌握更高级的概念和技术。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055b9281e8991b448d938c