swagger 相关问题

Swagger是一个框架实现,用于基于Open API规范描述,生成,使用和可视化RESTful Web服务

使用 OpenAPI 时禁用 API 身份验证

我正在使用下面的 spring 和 openAPI 依赖项: org.springframework.boot spring-boot-starter-parent 我正在使用下面的 spring 和 openAPI 依赖项: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.3.2</version> </parent> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <version>2.6.0</version> </dependency> 我的安全配置类定义如下: @Bean public UserDetailsService userDetailsService() { // ensure the passwords are encoded properly UserDetails userDetails = new User(userName, password, Collections.singleton(new SimpleGrantedAuthority("ROLE_" + ROLE))); return new InMemoryUserDetailsManager(userDetails); } @Bean @Primary @ConditionalOnProperty(value = "swagger.auth.enabled", havingValue = "true", matchIfMissing = true) public static BCryptPasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { String regexPattern; if(swaggerAuthEnabled) { /* Desc: Below regex will hold true for : * - pattern containing health in its resource * - pattern if it not contains * > /actuator/<something> * > /v2/api-docs * > /swagger-ui.html * */ regexPattern = ".*(/health)|^(?!/v2/api-docs|.*/swagger\\-ui\\.html|.*/actuator/).*$"; } else { regexPattern = ".*"; } return http.authorizeHttpRequests(authorize -> authorize.requestMatchers(regexPattern) .permitAll().anyRequest().authenticated()) .httpBasic(Customizer.withDefaults()).build(); } 我添加了类型为:HTTP的SecurityScheme和方案:BASIC 我的目标是通过 swagger UI 添加身份验证,工作正常,但我的所有 API 现在也都落后于身份验证,因此我在通过邮递员或其他服务访问它们时收到 401 错误。 我对 OpenAPI 还很陌生,似乎在浏览有关堆栈溢出的所有其他相关解决方案时迷失了方向。 感谢您的帮助! 如果我正确理解你的问题,问题是现在每个请求都必须经过身份验证.anyRequest().authenticated(),如果你只想允许任何未经身份验证的请求发送到任何端点,你必须将其更改为.anyRequest().permitAll()

回答 1 投票 0

使用 Swagger UI 进行 OAuth 2.0 身份验证

我有一个 ASP.NET Core Web Api 项目,其中包含以下 program.cs 文件: 使用(var范围=临时Provider.CreateScope()) { var dataverseUtilityService = range.ServiceProvi...

回答 1 投票 0

Swagger API 文档:“无法解析参考:针对意外元素评估令牌“路径”时 JSONPointer 评估失败”

我正在开发一个包含 API 的项目。 我目前正在尝试使用 Swagger 记录 API。 我想为我的路由使用外部路径,以避免 yaml 中的行数超过 2000 行。 豪...

回答 1 投票 0

Swagger 3.0 - 无法向查询参数添加参数

我有 Node Express 应用程序,并且正在使用 swagger-jsdoc 和 swagger-ui-express 在路由器内部我放置了这段代码: /** * @招摇 * /得到: * 得到: * 标签:[ /api/roba/get ] *总结:

回答 1 投票 0

处理文件与 Pydantic 模型中定义的表单数据时出现 FastAPI 错误

由于某种原因,同时处理表单数据和文件上传会引发错误。 从输入导入注释 从 pydantic 导入 BaseModel、StringConstraints、EmailStr 类 RouteBody(BaseMod...

回答 1 投票 0

当文件参数包装在模型类中时,NSwag 在 Minimal API 中为 IFromFile 生成不正确的输出

我正在开发一个 .NET 8 Minimal API (Web) 项目,并使用 NSwag 生成 Swagger 文档。我有一个接受文件上传的端点,并且文件参数包装在模型中

回答 1 投票 0

如何在 Swagger 端点中设置 Beta 版本控制?

在我的 WebApi 项目(c# 和 .net8)中,我成功设置了以下定义: 对于 1.0 版本,我有这些端点: 但是对于测试版,我想要类似的内容:/beta/api/Auth/Logon。 几乎

回答 1 投票 0

Swashbuckle 被中间件身份验证阻止

我正在 dotnet 6 中创建一个最小的 API。我有 Swagger/Swashbuckle 的默认实现,一切都很好,直到我添加了一个简单的自定义身份验证中间件(请参阅下面的代码)。

回答 2 投票 0

获取swagger.yaml文件中定义的每个api端点的curl命令

我有一个 swagger.yaml 文件,其中记录了所有 Node.js api 端点。它使用 openapi 版本 3.0.0。我们还使用express-openapi-validator包来验证每个......的请求和响应

回答 1 投票 0

如何修复 Spring Boot 3 中的 swagger-ui 问题?

我可以看到“http://localhost:8080/v3/api-docs”,但看不到“http://localhost:8080/swagger-ui.html”。我尝试了几个不同的网址,但没有成功。我遇到了 404(

回答 1 投票 0

swagger 隐藏特定用户的端点

我试图根据登录的用户隐藏哪些端点以大摇大摆的方式显示。这不起作用,我不明白为什么。我在

回答 1 投票 0

FastAPI(Swagger)交互式文档问题

我正在制作一个用于注册、身份验证和授权的模块。注册过程分为 2 个阶段(2 个处理函数)。我在第二阶段遇到的问题是......

回答 1 投票 0

如何指定 swagger codegen 应该生成哪些 API

我想使用 swagger codegen 生成一个 REST API,但是我有一个很大的 yaml,其中包含比需要的更多的模型和 API。 所以我想选择性地生成我的休息服务。 我添加了以下几行...

回答 1 投票 0

如何替换 Swagger UI Endpoint 路由中的 Swagger“服务器”路径?

在我正在构建的 Web API 中,控制器使用以下约定进行路由: [路线(“api/public/v{版本:apiVersion}/[控制器]”)] [API控制器] 公共类 TestController:ControllerBas...

回答 1 投票 0

Swagger 声明 schema = @Schema(implementation = Map.class) 在 swagger-ui 中将 Schema 表示为 String

我正在尝试创建 springdoc swagger 文档,我想以更好的客户端可读方式表示具有数据类型 Map 的请求主体。但当我宣布...

回答 8 投票 0

如何使用 Go-Swagger 在单个路由文件中生成版本化 API 的 Swagger 规范?

我正在开发一个 Golang 项目,其中我有一个后端服务器,在单个路由文件中定义了多个 API 版本。我正在使用 go-swagger 包来生成 Swagger 文档。 我有

回答 1 投票 0

如何在.NET API中配置Swagger根据内容类型显示不同的模型类

我有一个具有以下 API 端点的 .NET API 项目,但 Swagger UI 和生成的 swagger.json 文件仅显示 PetJsonRequestInfo 模型类的选项,无论内容如何...

回答 1 投票 0

为什么 Swashbuckle 不遵守套管政策?

我有一个带有 Swagger 和 Swashbuckle 代码属性的 ASP.Net Core API,用于生成 UI 文档。 API 的命名策略自始至终都是蛇形命名法,在大多数文档中都是......

回答 1 投票 0

文件上传可以从 Swagger 进行,但在 REST API 客户端中失败,显示 413 请求实体太大

我的 .net core Rest api 与 IIS 服务器设置能够通过 Swagger UI 上传文件,但当我尝试从 REST API 客户端(Postman 或 Insomnia)上传时失败,提示“413 Request Ent...

回答 1 投票 0

Swagger API 未刷新文档

我正在使用 Swagger API 来记录我的 REST 服务。 早些时候,我的控制器方法没有信息丰富的注释,因此 Swagger API 没有显示描述,但现在即使在

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.