- 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种路由方法全解析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
计算机程序设计艺术(第3卷)-排序和查找(英文影印版)
(美)Donald E.Knuth / 清华大学出版社 / 2002-9 / 85.00元
《计算机程序设计艺术排序和查找(第3卷)(第2版)》内容简介:这是对第3卷的头一次修订,不仅是对经典计算机排序和查找技术的最全面介绍,而且还对第1卷中的数据结构处理技术作了进一步的扩充,通盘考虑了将大小型数据库和内外存储器。它遴选了一些经过反复检验的计算机方法,并对其效率做了定量分析。第3卷的突出特点是对“最优排序”一节作了修订,对排列论原理与通用散列法作了全新讨论。一起来看看 《计算机程序设计艺术(第3卷)-排序和查找(英文影印版)》 这本书的介绍吧!