标签: swagger-jsdocs

Swagger openapi 3.0.x 空体

我正在尝试将我的 Express api 从 swagger 2.0 迁移到 openapi 3.0.2。swagger 定义和路径是在 swagger-jsdoc 中编写的。这应该不会导致任何问题,因为他们的文档声明它可以与 openapi 3.x 以及 swagger 2.0 一起使用。

将 openapi: 3.0.x 添加到我的 swaggerDefinition 时,视图看起来很好。但是,当尝试通过 swagger 视图执行发布请求时,正文为空。

我的招摇定义如下所示:

const swaggerOptions = {
    swaggerDefinition: {
        openapi: '3.0.2',
        info: {
            title: `Channels API`,
            description: "Channels API",
            version: "v1"
        },
        servers: [ {
            url: "http://127.0.0.1:3000",
            description: 'Local server'
        }],
    },
    apis: ['./routes/*.js'],
};
Run Code Online (Sandbox Code Playgroud)

现在我有一个文件channels.js作为路由器:它有以下定义:

class Channel extends BaseRouter {
/**
* @swagger
*
* definitions:
*   channel:
*     type: object
*     tags:
*       - …
Run Code Online (Sandbox Code Playgroud)

express swagger openapi swagger-jsdocs

5
推荐指数
1
解决办法
1万
查看次数

Swagger JSDoc 不从子文件夹加载 API 文件

我正在为 node.js 和 express 框架中的一个项目集成 swagger 文档,

NPM: Swagger JSDoc - ^4.0.0 NPM

以下是文件夹结构:注:模块1,模块2和模块3文件夹!

 - app 

   - module-1 
      - module-1.controller.js
      - module-1.model.js
      - module-1.route.js
   - module-2 
      - module-2.controller.js
      - module-2.model.js
      - module-2.route.js
   - module-3 
      - module-3.controller.js
      - module-3.model.js
      - module-3.route.js
Run Code Online (Sandbox Code Playgroud)

工作示例:

swaggerJSDoc({
    swaggerDefinition: {
        ...require('../swagger.json')
    },
    apis: [
        './app/module-1/*',
        './app/module-2/*'
        './app/module-3/*'
    ]
})
Run Code Online (Sandbox Code Playgroud)

节点:我不想每次创建一个像上面例子那样的新模块时都添加模块路径。

我期待的是下面的示例:我想将它设置一次,如设置主文件夹/文件路径,它将自动从提供的主文件夹/文件路径加载 API Doc 数据。

我尝试下面的例子,但它不工作/app/*

swaggerJSDoc({
    swaggerDefinition: {
        ...require('../swagger.json')
    },
    apis: [
        './app/*'
    ]
})

Run Code Online (Sandbox Code Playgroud)

请指导是否有任何方法可以做到这一点,任何形式的建议将不胜感激,谢谢。

node.js express swagger swagger-jsdocs

2
推荐指数
1
解决办法
1656
查看次数

现有的 nodeJS 和 swagger JS 文档不起作用

我有一个简单的 nodeJS 项目,想在其中添加 swagger 。我需要 swaggerUI 和 swaggerJSDoc

这是我的 app.js 文件。

// requires
const path = require("path");
const express = require("express");
const bodyParser = require("body-parser");
const mongoose = require("mongoose");

const postsRoutes = require("./routes/posts/posts");
const userRoutes = require("./routes/auth/user");
const swaggerUi = require("swagger-ui-express");
const swaggerJSDoc = require("swagger-jsdoc");

// https://swagger.io/specification/v2/
const swaggerOptions = {
  swaggerDefinition: {
    info: {
      title: "Post API",
      description: "This is a sample Post API",
      contact: {
        name: "Test ",
        url: "http://www.swagger.io/support",
        email: "test@gmail.com"
      },
      servers: ["http://localhost:3850/"]
    }
  },
  swagger: …
Run Code Online (Sandbox Code Playgroud)

node.js swagger-ui swagger-jsdocs

1
推荐指数
1
解决办法
8752
查看次数

标签 统计

swagger-jsdocs ×3

express ×2

node.js ×2

swagger ×2

openapi ×1

swagger-ui ×1