介绍
egg-development-stub 是一个 egg.js 的开发工具包,它可以帮助前端开发者在开发 egg.js 项目的时候,提高开发效率和完成度。具体功能包括:快速创建接口和模型模板、模拟 API 接口、集成 swagger 接口文档生成等,让 egg.js 项目开发变得更加便捷和高效。
安装
在项目的根目录中,使用以下命令来安装 egg-development-stub:
npm install egg-development-stub -D
使用说明
首先,在项目的 config.default.js 中添加配置:
-- -------------------- ---- ------- - ---------------- - -------- ------- -- --- --- -- ------------ - -- -------- ----- ---------------------------- -- ------- - -- ------- ----- ----------------------- - - -
接着,在需要使用该工具包的路由中添加 mock 选项:
router.get('/test', controller.api.test.test); router.get('/mock-api/test', controller.api.test.test.mock); // 使用 mock 接口 router.post('/mock-api/test', controller.api.test.test.mock); // 使用 mock 接口
最后,在终端中使用以下命令启动项目:
npm run dev-stub
功能详解
创建接口和模型模板
在终端中使用以下命令,快速创建接口或者模型的模板:
npm run stub:api [name] [type] # 创建接口模板 npm run stub:model [name] # 创建模型模板
其中,[name] 为需要创建的文件名,[type] 为需要创建的接口类型(默认为 get,其他可选项包括 post、put、delete)。
模拟 API 接口
在路由配置中,使用 mock 属性即可将接口模拟出来。例如:
router.get('/test', controller.api.test.test); // 非 mock 接口 router.get('/mock-api/test', controller.api.test.test.mock); // mock 接口 router.post('/mock-api/test', controller.api.test.test.mock); // mock 接口
使用 mock 接口需要注意以下几点:
该接口必须在
egg-development-stub
配置中指定使用的控制器和模型。mock 接口的参数可以在 controller 层通过
this.ctx.query
或者this.ctx.request.body
获取。使用 mock 接口时,请求的 URL 需要添加
/mock-api
前缀。
集成 swagger 接口文档生成
在开发过程中,我们需要时常更新接口文档。使用 swagger 可以帮助我们轻松生成接口文档,而 egg-development-stub
就为我们集成了 swagger。
在控制器中,使用以下注解可以为接口添加描述信息:
/** * @summary 查询用户信息 * @description 查询用户信息 * @router get /api/users/:id * @request query integer age 用户年龄 * @request path integer id 用户ID * @response 200 UserResponse 用户信息 */
其中,@router
表示接口的请求方式和路径,@request
表示请求参数,@response
表示响应参数等。
使用以下命令可以生成 swagger 接口文档:
npm run swagger
之后,在浏览器中输入以下地址即可访问文档:
http://localhost:8989/swagger-ui.html
示例代码
在实际使用中,可以参考以下示例代码:
-- -------------------- ---- ------- -- ----------------- ----------------------- - - -------- ------- ------------ - -- ------- ------------------ ----------- ----- ------------------------- -- ------- - ----- -------------------- -- --
-- -------------------- ---- ------- -- ------------------ --- - -------- ---- -- - ------------ ---- ---- -- - ------- --- --------- - -------- ----- ------- --- ---- - -------- ------ ------ ------------ -- ----- - --------- --- ------------ ---- -- -- ------------ - ----- ----- -- - ----- - --- - - ---------- ----- ---- - ----- ----------------------------------- -------- - - -------- ---------- ----- -- -- --- - -------- ---- ---- -- - ------------ ---- ---- ---- -- - ------- --- -------------- - -------- ----- ------- --- ---- - -------- ------ ------ ------------ -- ----- - --------- --- ------------ ---- -- -- ----------------- - ----- ----- -- - ----- - --- - - ---------- ----- ---- - - ----- ------------ ---- -- -------- - - -------- ---------- ----- -- --
-- -------------------- ---- ------- -- ------------- -------------- - ----- -- - ----- - ------- ------- - - -------------- ----- ---- - ------------------------ - ----- ----------- ---- ----------- --- -- ------------- ----------------- - ----- ----- -- - ----- ---- - ----- -------------- ------ - --- - --- ------ ----- -- ------ ----- --
总结
通过使用 egg-development-stub,我们可以快速创建接口和模型模板、模拟 API 接口、以及集成 swagger 接口文档生成等功能,提高 egg.js 项目的开发效率和完成度。在具体使用中,需要注意配置和路由的设置,并且需要合理使用 mock 接口。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055fa381e8991b448dcf82