标签: swagger-ui

“addCorsMapping”阻止 Swagger UI

我正在开发 Spring 应用程序,但在使用 Swagger 和 Spring Security 时遇到了一些问题。我必须添加一个特定的配置来允许几乎所有访问(CORS),到目前为止它运行良好,但不知何故它阻止了 Swagger....

这是我的 SwaggerConfiguration.java

@Configuration
@EnableSwagger2
@SwaggerDefinition(
        info = @Info(
                description = "Web Service",
                version = "V0.0.1",
                title = "Web Service",
                contact = @Contact(
                        name = "Me",
                        email = "dev@me.com",
                        url = "https://www.me.com/"
                )
        ),
        consumes = {"application/json"},
        produces = {"application/json"},
        schemes = {SwaggerDefinition.Scheme.HTTP, SwaggerDefinition.Scheme.HTTPS}
)
public class SwaggerConfiguration {

    /** List of Swagger endpoints (used by {@code WebSecurityConfig}) */
    static final String[] SWAGGER_ENDPOINTS = {
            "/v2/api-docs",
            "/swagger-resources",
            "/swagger-resources/**",
            "/configuration/ui",
            "/configuration/security",
            "/swagger-ui.html",
            "/webjars/**" …
Run Code Online (Sandbox Code Playgroud)

spring spring-security swagger-ui

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

Swagger UI Express - 无法获取 /docs/

我通过集成 Swagger 文档实现了一个简单的服务器。我的简单代码如下

const http = require('http');
const express = require('express');
const swaggerUi = require('swagger-ui-express');
const bodyParser = require('body-parser');
const YAML = require('yamljs');

const serverPort = 8080;
const app = express();

const swaggerDoc = YAML.load('./api/swagger.yaml');

app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDoc));
app.use(bodyParser.urlencoded({
  extended: false,
}));
app.use(bodyParser.json());

http.createServer(app).listen(serverPort, function () {
  console.log('Your server is listening on port %d (http://localhost:%d)', serverPort, serverPort);
  console.log('Swagger-ui is available on http://localhost:%d/docs', serverPort);
});
Run Code Online (Sandbox Code Playgroud)

执行后node server.js,我访问http://localhost:8080/docs并得到

Cannot GET /docs/
Run Code Online (Sandbox Code Playgroud)

当然我swagger.yaml里面已经有文件了/api。请问这个问题有什么解决办法吗?

node.js swagger-ui

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

使用 swagger 和express 没有出现 API 端点文档

我正在使用 Swagger 编写 API 文档。我已经在我的 Express 项目上成功设置了 Swagger,但是只要端点位于 app.js 文件之外的另一个路由文件上,端点的文档就不会显示

下面是我的 App.js 文件

const express = require('express')
const port = process.env.PORT
const userRouter = require('./routers/user')
require('./db/db')

const app = express()
const swaggerJsDoc = require("swagger-jsdoc");
const swaggerUi = require("swagger-ui-express");

// Extended: https://swagger.io/specification/#infoObject
const swaggerOptions = {
    swaggerDefinition: {
        info: {
            title: "MY API TITLE",
            description: "API Documentation",
            contact: {
                name: "Cali"
            },
            servers: ["http://localhost:3000"]
        }
    },
    // ['.routes/*.js']
    apis: ["app.js"]
};

const swaggerDocs = swaggerJsDoc(swaggerOptions);
app.use("/api/doc", swaggerUi.serve, swaggerUi.setup(swaggerDocs, {explorer: true}));

app.use(express.json()) …
Run Code Online (Sandbox Code Playgroud)

node.js express swagger swagger-ui

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

NestJS - Swagger JSON 导出

我有 Swagger,效果很好。但我找不到将路由导出为 JSON 的方法。我记得这样做过,只需在浏览器中访问一个 URL,但现在我不记得了。

我的招摇设置是这样的:

const swaggerOptions = new DocumentBuilder()
    .setTitle('Some API Docs')
    .setDescription('Some API description')
    .setVersion('1.0')
    .build();

  const swaggerDocument = SwaggerModule.createDocument(app, swaggerOptions);
  SwaggerModule.setup('docs', app, swaggerDocument);
Run Code Online (Sandbox Code Playgroud)

我可以使用以下命令访问 Swagger UI: localhost:3000/docs

我已阅读官方文档,他们提到使用:

  • http://localhost:3000/api/json 或 http://localhost:3000/api-json

另外,我看了SO,有这个线程

不幸的是,这些都不适用于我的情况。

获取 JSON 格式文档的 URL 是什么?

swagger swagger-ui nestjs

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