当前位置: 首页 > news >正文

node配置swagger

安装swagger

npm install swagger-jsdoc swagger-ui-express

创建 swagger.js 配置文件

const path = require('path');
const express = require('express');
const swaggerUI = require('swagger-ui-express');
const swaggerJsDoc = require('swagger-jsdoc'); // 修改 `swaggerDoc` 为 `swaggerJsDoc`// 配置 swagger-jsdoc 选项
const options = {definition: {openapi: '3.0.0',info: {title: '企业管理后台API文档', // 标题信息version: '1.0.0',description: '企业级管理后台共用接口API文档',},},// 去指定路由下收集 swagger 注释apis: [ './routers/*.js'], // 注意路径是否正确
};// 使用 swaggerJsDoc 生成规范的 swaggerSpec
const swaggerSpec = swaggerJsDoc(options);// 定义 `swaggerJson` 方法,用于返回 swagger 文档的 JSON 数据
const swaggerJson = function (req, res) {res.setHeader('Content-Type', 'application/json');res.send(swaggerSpec);
};// 定义 `swaggerInstall` 方法,用于将 swagger 安装到应用中
const swaggerInstall = function (app) {if (!app) {app = express(); // 如果没有传入 app,则创建一个新的 express 实例}// 开放 JSON 格式的文档接口app.get('/swagger.json', swaggerJson);// 使用 swaggerSpec 生成 swagger 文档页面,并开放在指定路由 '/swagger'app.use('/swagger', swaggerUI.serve, swaggerUI.setup(swaggerSpec));
};// 导出 `swaggerInstall` 方法供其他模块使用
module.exports = swaggerInstall;

设置 Swagger 注释规范

/*** @swagger* /users:*   get:*     summary: Retrieve a list of users*     responses:*       200:*         description: A list of users*         content:*           application/json:*             schema:*               type: array*               items:*                 type: object*                 properties:*                   id:*                     type: integer*                     example: 1*                   name:*                     type: string*                     example: John Doe*/
app.get('/users', (req, res) => {res.json([{ id: 1, name: 'John Doe' },{ id: 2, name: 'Jane Doe' },]);
});

配置 Swagger UI

在主应用文件(如app.js)中配置Swagger UI中间件:

const express=require('express')
const app=express()
const cors=require('cors')
const bodyParser=require('body-parser')
const menu=require('./routers/menu')
const main=require('./routers/main')
const area =require('./routers/area')
const upload =require('./routers/upload')
const user=require('./routers/user')
const swaggerInstall = require('./utils/swagger')// 引入swagger
app.use(express.static('./data/upload'))
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended: true}));
app.use(cors());
app.use('/api/menu',menu)
app.use('/api/main',main)
app.use('/api/area',area)
app.use('/api/upload',upload)
app.use('/api/user',user)
swaggerInstall(app) // 注册swagger
app.use(function(err,req,res,next){console.info(err.stack)res.status('500').send('服务端出错了')
})app.listen('3030',function(){console.log('服务器正在监听3030端口')
})

启动node服务

node app.js 具体看自己配置node启动命令是啥

启动访问设置地址+/swager/


http://www.mrgr.cn/news/42746.html

相关文章:

  • python 实现Luhn (Mod 10)Algorithm算法
  • D27【 python 接口自动化学习】- python 基础之判断与循环
  • 基于深度学习的从自然语言生成代码
  • 《深度学习》OpenCV 图像拼接 原理、参数解析、案例实现
  • SSL 协议(HTTPS 协议的关键)
  • 微服务之间的相互调用的几种常见实现方式对比
  • linux命令学习
  • 【移动端】基础知识
  • C文件操作
  • 快速选择 vs 最小堆:如何在数组中高效找到第K大元素?
  • C(十一)scanf、getchar(第三弹)
  • python全栈学习记录(二十二)多态性、封装、绑定方法与非绑定方法
  • 从0到1:培训机构排课小程序开发笔记一
  • 17 链表——21. 合并两个有序链表 ★
  • 深度学习每周学习总结J1(ResNet-50算法实战与解析 - 鸟类识别)
  • C语言 动态数据结构的C语言实现内存映像
  • 2024年PCDN业务严峻?家里网络不好可能是因为它
  • Flink 03 | 数据流基本操作
  • Python进程池:提升你的并发性能
  • Java报错输出的信息究竟是什么?