hapi框架搭建记录(二):路由改造和生成接口文档

栏目: Node.js · 发布时间: 6年前

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

hapi框架搭建记录(二):路由改造和生成接口文档

3.浏览测试结果

hapi框架搭建记录(二):路由改造和生成接口文档

接口文档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插件

hapi框架搭建记录(二):路由改造和生成接口文档

5.访问接口文档

访问地址: http://localhost:3000/documentation

hapi框架搭建记录(二):路由改造和生成接口文档

6.路由配置生产测试接口

修改测试路由文件 ./routes/test.js

hapi框架搭建记录(二):路由改造和生成接口文档

再次访问文档地址

hapi框架搭建记录(二):路由改造和生成接口文档


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

人工智能时代

人工智能时代

[ 美]杰瑞•卡普兰(Jerry Kaplan) / 李盼 / 浙江人民出版社 / 2016-4-1 / CNY 59.90

 当机器人霸占了你的工作,你该怎么办?机器人犯罪,谁才该负责?人工智能时代,人类价值如何重新定义?  在《人工智能时代》一书中,智能时代领军人、硅谷连续创业者杰瑞·卡普兰指出:智能时代的到来,给人类社会带来了两大灾难性冲击:持续性失业与不断加剧的贫富差距。机器正在很大程度上替代人类的工作,不管你是蓝领还是白领。而针对未来社会将要发生的这些问题,卡普兰在《人工智能时代》一书中从企业、税收和......一起来看看 《人工智能时代》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具