Egg.js入门指南:API接口与路由配置

需积分: 16 2 下载量 143 浏览量 更新于2024-08-05 收藏 14KB MD 举报
“egg.js基础教程 .md” 本文档是关于Egg.js的基础教程,它是一个为企业级 Node.js 开发框架,旨在简化后端开发流程,提高开发效率。Egg.js 基于 Koa.js 框架构建,支持 RESTful API 设计,并且与 npm 和 Node.js 深度集成。 ### 安装Egg.js 首先,为了在中国大陆地区更快地下载依赖,你需要全局设置 npm 镜像到淘宝源: ```bash npm config set registry https://registry.npm.taobao.org ``` 然后,你可以使用 Egg.js 提供的脚手架工具快速创建一个新项目: ```bash mkdir egg-example && cd egg-example npm init egg --type=simple --registry=https://registry.npm.taobao.org npm install ``` 最后,启动项目以进行开发: ```bash npm run dev ``` 打开浏览器访问 `http://localhost:7001`,可以看到项目的默认欢迎页面。 ### 写第一个 API 接口 在 Egg.js 中,API 接口通常通过控制器(Controller)来实现。控制器是处理 HTTP 请求的地方。下面是一个简单的示例: ```javascript // app/controller/admin/index.js exports.index = async function (ctx) { const { ctx } = this; // 获取路由参数(如 /admin/:id 中的 id) ctx.params; // 获取 URL 查询参数(如 /admin?id=xxx 中的 id) ctx.query; // 设置响应内容 ctx.body = '响应'; // 设置 HTTP 状态码 ctx.status = 201; }; ``` ### 创建路由 Egg.js 使用 Router 来定义 API 的路径和处理函数。基本用法如下: ```javascript // app/router.js app.router.get('/admin/:id', controller.admin.index); ``` 在这个例子中,`/admin/:id` 路由会映射到 `controller.admin.index` 函数。 #### 资源路由 Egg.js 还提供了资源路由,可以自动创建一组 CRUD 操作的路由。例如: ```javascript // app/router.js app.router.resources('posts', '/api/posts', controller.posts); app.router.resources('users', '/api/v1/users', controller.v1.users); ``` 这会在 `/api/posts` 路径上生成如下路由结构: | Method | Path | Route | | --- | --- | --- | | GET | /api/posts | 获取所有 posts | | POST | /api/posts | 创建新的 post | | GET | /api/posts/:id | 获取指定 id 的 post | | PUT | /api/posts/:id | 更新指定 id 的 post | | DELETE | /api/posts/:id | 删除指定 id 的 post | 同样的,`/api/v1/users` 路径也会生成对应的一组用户操作路由。这些路由将对应于 `app/controller/posts.js` 和 `app/controller/v1/users.js` 文件中的函数。 通过这种方式,Egg.js 提供了一个简洁、高效的 API 开发方式,让开发者可以专注于业务逻辑,而不用过多关心路由配置和请求处理的细节。同时,Egg.js 还提供了一系列企业级特性,如中间件、插件、热更新、日志管理等,使得大型项目开发更为便捷。