- hapi框架,用 官网 的简介来说就是:Hapi是构建应用程序和服务的丰富框架,它使开发人员能够专注于编写可重用的应用程序逻辑,而不是花时间构建基础设施。
- 用自己的话简单来说,就是个类似express,koa之类的node服务基础框架。
- 此篇博客是在阅读过掘金小册的 《基于 hapi 的 Node.js 小程序后端开发实践指南》 并实践操作后,以此记录实践过程和踩过的坑。感兴趣读者可支持阅读掘金小册原版的内容。
路由汇总
1. 在./routes目录下新建index.js
作为路由的汇总,这样以后只管在./routes下新建文件即可
"use strict"; const fs = require("fs"); const path = require("path"); const basename = path.basename(__filename); // 当前文件名 let routeArr = []; // 同步读取当前目录,并过滤除了当前文件的文件名数组 fs.readdirSync(__dirname) .filter(file => { // 过滤掉隐藏文件、当前文件、非js文件, 返回当前目录下文件名称数组 return ( file.indexOf(".") !== 0 && file !== basename && file.slice(-3) === ".js" ); }) .forEach(file => { // 引入路由模块 let arr = require(path.join(__dirname, file)); // 汇总 routeArr.push(...arr); }); module.exports = routeArr;
测试路由
1.新建test.js文件作为测试
const GROUP_NAME = "test"; module.exports = [ // 纯测试返回 接口 { method: "GET", path: `/${GROUP_NAME}`, handler: (request, h) => { const data = { message: "test" }; // 响应数据方式: // return h.response(data).code(200); return data; } }, ]
2.修改app.js
3.浏览测试结果
接口文档Swagger
1.了解 swagger
这个hapi插件是笔者认为强大好用的工具,可以根据路由给的config配置,自己生成对应的接口文档、测试接口数据 以及 配合Joi插件来校验数据
2.安装swagger相关依赖
npm i hapi-swagger inert vision package
3.编写配置插件
在./plugins 目录下新建hapi-swagger.js
可参考 官方示例
const hapiSwagger = require("hapi-swagger"); const inert = require("inert"); const vision = require("vision"); const package = require("package"); module.exports = [ inert, vision, { plugin: hapiSwagger, options: { info: { title: "接口文档", // 文档的标题 version: package.version // 文档的版本 }, // 定义接口以tags属性为分类【定义分类的大标题】,给./routes路由的配置config:tags使用 grouping: "tags", // 标签,用于对应路由config定义的tags进行归类 tags: [ { name: "test", description: "测试相关" } ], lang: 'zh-cn' // 文档语言 } } ];
4.app.js入口文件配置swagger插件
5.访问接口文档
访问地址: http://localhost:3000/documentation
6.路由配置生产测试接口
修改测试路由文件 ./routes/test.js
再次访问文档地址
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Raspberry Pi设置自动拨号搭建无线路由环境
- 使用koa搭建web服务,从路由到MySql
- 简单搭建OSPF,RIP,NSSA,外部路由汇总网络拓扑
- 仿有赞后台+vue+ts+vuecli3.0+elementUi+二期项目结构文件搭建+以及路由的使用
- vue路由篇(动态路由、路由嵌套)
- 小程序封装路由文件和路由方法,5种路由方法全解析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
XML Hacks
Michael Fitzgerald / O'Reilly Media, Inc. / 2004-07-27 / USD 24.95
Developers and system administrators alike are uncovering the true power of XML, the Extensible Markup Language that enables data to be sent over the Internet from one computer platform to another or ......一起来看看 《XML Hacks》 这本书的介绍吧!
HTML 编码/解码
HTML 编码/解码
HSV CMYK 转换工具
HSV CMYK互换工具