hapi mysql项目实战路由初始化_hapi框架搭建记录(二):路由改造和生成接口文档...
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
这个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
再次访问文档地址
hapi mysql项目实战路由初始化_hapi框架搭建记录(二):路由改造和生成接口文档...相关推荐
- [Golang梦工厂]一个小项目带你学会GIN框架、JWT鉴权、swagger生成接口文档,看这一篇就够了
前言 哈喽,大家好,我是asong,这是我的第八篇原创文章.听说你们还不会jwt.swagger,所以我带来一个入门级别的小项目.实现用户登陆.修改密码的操作.使用GIN(后台回复Golang梦工厂: ...
- Django框架深入了解_05 (Django中的缓存、Django解决跨域流程(非简单请求,简单请求)、自动生成接口文档)(二)
二.跨域: 回到顶部 跨域知识介绍: 点我以前博客 跨域解决方法:CORS:跨域资源共享 CORS请求分类(简单请求和非简单请求) 简单请求(simple request):只需要在头信息之中增加一个 ...
- Go 项目自动生成接口文档
CSDN 中文章不一定能及时更新,欢迎关注我的博客查看最新版本:许盛的博客 背景 如何让后端同学愉快地写接口文档,是个老大难问题. 使用 GraphQL 当接口标准,倒是省了接口文档的问题,连前端代码 ...
- Django框架深入了解_05 (Django中的缓存、Django解决跨域流程(非简单请求,简单请求)、自动生成接口文档)(一)
阅读目录 一.Django中的缓存: 前戏: Django中的几种缓存方式: Django中的缓存应用: 二.跨域: 跨域知识介绍: CORS请求分类(简单请求和非简单请求) 示例: 三.自动生成接口 ...
- hapi mysql项目实战路由初始化_用hapi.js mysql和nuxt.js(vue ssr)开发仿简书的博客项目...
前言: 预览: 开始: npm i 把mysql配置好 npm run server or npm run dev 实现功能: 用户: 登录.注册.用户资料修改,详情页面,类似于简书的文章数量.总字数 ...
- Java项目自动生成接口文档
Idea安装插件 EasyYapi 插件可基于javadoc解析API文档. 右击项目或者类即可导出接口文档: Java注释demo: 官方文档:文档 /*** 分类名称* 分类备注/描述** @mo ...
- 22.案例实战:把springboot的接口,自动生成接口文档
代码:https://github.com/NIGHTFIGHTING/spring_boot_learning/tree/master/21-22/agan-boot/agan-boot-swagg ...
- Popular MVC框架swagger+knif4j接口文档工具使用示例
Popular MVC框架swagger接口文档工具使用示例 简介 此项目介绍如何使用popularmvc内置的swagger+knife4j实现简单易用的实时API文档,支持在线调试接口! 此项目只 ...
- springfox源码_【开源项目】springfox-bridge:随心所欲地为非restful接口生成API文档...
一.引言 目前,利用swagger框架为restful接口编写API文档非常流行,在spring web项目中,利用springfox+swagger更是可以通过注解的方式直接进行API文档的生成,这 ...
- SpringBoot+MyBatis+MYSQL项目实战六(新增收货地址)
SpringBoot+MyBatis+MYSQL项目实战六(新增收货地址) 项目源码地址:电脑商城实战 点击新增收货地址 一:新增收货地址--数据表的创建 CREATE TABLE t_address ...
最新文章
- 新手篇——学习网页开发需要多长时间就能找到工作
- 2019.1.7 区块链论文翻译
- 中国超细旦丝现状调研及投资前景评估报告2022-2028年版
- mysql建表主键_常见的MySQL命令大全second
- Unity官方宣传片Adam 播放地址
- ajax get怎么传参数值,如何使用jQuery在GET请求中传递参数
- [js]DOM 篇
- 查看Android 系统发送的广播
- web集群之haproxy相关配置
- 看完这一篇,解决Mac电脑90%的软件烦恼
- OA协同办公系统功能介绍
- php获取一段时间内的法定工作日
- c 语言中是什么作用是什么意思,在C语言中%C是什么意思
- 融云--快速集成融云
- 《推荐算法工程师培养计划》
- 【计算机网络】吞吐量与瓶颈链路
- 万能种子搜索器p2p官方版
- java android知识点总汇
- (附源码)springboot小说网站系统 毕业设计 041446
- 蓝桥杯 算法训练 JAM计数法
热门文章
- 教你来使用雪碧图(CSS sprite)
- Glide 显示圆形头像
- 南昌大学计算机学院夏令营,南昌大学关于举办2021年优秀大学生暑期夏令营活动的通知...
- 码医自学法V2.2(附名老中医)
- .netCore微信转账至零钱——V3
- 【渝粤题库】陕西师范大学180108 有效教学的理论与实践
- 【论文研读】-用于约束多目标优化的新型双阶段双种群进化算法
- Unity Shader-热空气扭曲效果
- ant design vue 实现手机号 身份证 中文校验 邮箱校验
- 适合新手的mac电脑使用技巧 苹果电脑的快捷键和使用技巧