OpenAPI规范(最初称为Swagger规范)是用于描述,生成,使用和可视化RESTful Web服务的机器可读接口文件的规范。
在 Spring Boot Rest 中测试端点是否符合 openapi 合约
我正在寻找一种编写测试的好方法,以确保 Spring Boot Rest(版本 2.1.9)应用程序中的端点遵循 OpenAPI 合约中的合约。 在我最近移动的项目中...
我正在使用 Open API 3.0 规范来记录我的 API。 我观察到 Open API 3.0 有一个版本属性。我想知道它是否有办法记录变更日志。或者只使用
对于我的 API,我正在制作一个元注释来处理 Pagable 参数,为此我需要将字符串列表注释为将显示在 Swagger UI 中的参数。 导入 io.swagger.v3.oas.
从 OpenAPI JSON 生成 dart 客户端代码时出错
我正在尝试使用 openapi-generator-cli 和 Dart-Dio 生成器来生成 OpenAPI API 的客户端代码。但是,我在生成过程中遇到了错误。 API ...
在Nestjs中,您可以使用@Query()查询:MyDto自动验证您的查询参数,并生成Swagger文档。 我创建了一个自定义装饰器,它有点取代了 @Query dec...
我正在尝试在项目中设置 OpenApi 文档。目前,我正在记录一个接收 DTO 并返回 DTO 作为响应的端点。 我的实体 DTO 有一个隐藏的私有字段...
如何在 Spring Cloud 和 Azure 应用程序中公开开放 API 端点
我正在尝试在 Spring Cloud 和 Microsoft azure 函数中使用开放 API,但我无法公开开放 API URL。在控制台(附图)中,您可以看到我只有一个 api 端点...
我正在尝试为我在项目中实现的控制器之一编写一些测试。我想尝试使用 openapi4j 库来实现它。我读了一些关于它的文章以及它是如何实现的
open api 3.0 如何支持单个查询参数键具有多个值?
对于这种格式的 api: GET /resource?param=value1¶m=value2¶m=value3 在开放Api 2.0中,我们可以这样指定: 参数: - 在:查询 名称: 颜色 类型:数组 ...
NSwag 的 AspNetCoreOperationSecurityScopeProcessor 将所有端点标记为需要授权
我设置了如下自定义授权方案: services.AddAuthentication(“ClientApp”) .添加方案 我设置了这样的自定义授权方案: services.AddAuthentication("ClientApp") .AddScheme<ClientAppAuthenticationOptions, ClientAppAuthenticationHandler>("ClientApp", null); 然后我有以下 NSwag OpenAPI 文档配置: services.AddOpenApiDocument((settings, provider) => { settings.DocumentName = "openapi"; settings.AddSecurity("ClientApp", Enumerable.Empty<string>(), new OpenApiSecurityScheme { Type = OpenApiSecuritySchemeType.ApiKey, Description = "Authentications used for client apps, such as Mmcc.Stats.TpsMonitor", Name = "X-Auth-Token", In = OpenApiSecurityApiKeyLocation.Header }); settings.OperationProcessors.Add( new AspNetCoreOperationSecurityScopeProcessor("ClientApp") ); // ... } 我用 [AllowAnonymous] 和 [Authorize(AuthenticationSchemes = "ClientApp")] 装饰了控制器中的操作,但是 NSwag 将我的所有端点标记为需要 ReDoc UI 中的 ClientApp 授权,而不考虑装饰器。为什么? 我已经通过将代码更改为以下内容来修复它: settings.DocumentProcessors.Add( new SecurityDefinitionAppender("ClientApp", new OpenApiSecurityScheme { Type = OpenApiSecuritySchemeType.ApiKey, Description = "Authentications used for client apps, such as Mmcc.Stats.TpsMonitor", Name = "X-Auth-Token", In = OpenApiSecurityApiKeyLocation.Header })); settings.OperationProcessors.Add(new AspNetCoreOperationSecurityScopeProcessor("ClientApp")); 使用正确的方法与 Enumerable.Empty<string>() 将身份验证添加到全局范围。 configure.AddSecurity("App-Id", Enumerable.Empty<string>(), new OpenApiSecurityScheme { Description = "AppId needed to access the endpoints", Name = "App-Id", In = OpenApiSecurityApiKeyLocation.Header, Type = OpenApiSecuritySchemeType.ApiKey });
我应该如何编写一个方法签名,向服务器发出休息请求并返回openapi定义的反序列化主体和原始响应? [已关闭]
我应该如何编写一个方法签名,向服务器发出休息请求并返回openapi定义的反序列化主体和原始响应? openapi规范操作对象在这里:...
我正在为 spring-boot 应用程序编写一个规范,以使用 openapi-generator-maven-plugin 为客户端生成 API。我想导入一些模型,所以我尝试像平常一样导入它们,使用
我的 swagger ui 有问题。我正在使用那些依赖项: org.springframework.boot 我的 swagger ui 有问题。我正在使用这些依赖项: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.1</version> </dependency> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-api</artifactId> <version>2.2.0</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-config</artifactId> </dependency> </dependencies> 因此,如您所见,对于 swagger 我正在使用此依赖项 <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-api</artifactId> <version>2.2.0</version> </dependency> 这是我在 application.properties 中的 swagger 设置 # Swagger settings springdoc.swagger-ui.enabled=true springdoc.api-docs.path=/api-docs springdoc.swagger-ui.path=/swagger-ui.html 这是我的 SecurityFilterChain,我认为 Spring Security 可能会阻止我的请求,但看起来不应该 @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.cors().and().csrf().disable() .exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and() .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and() .authorizeHttpRequests((requests) -> requests .requestMatchers("/api/auth/**").permitAll() .requestMatchers("/swagger-ui.html").permitAll() .requestMatchers("/api-docs/**").permitAll() .requestMatchers("/api/users/**").hasRole("USER") .requestMatchers("/api/admin/**").hasRole("ADMIN") .anyRequest().permitAll() ); http.authenticationProvider(authenticationProvider()); http.addFilterBefore(authenticationJwtTokenFilter(), UsernamePasswordAuthenticationFilter.class); return http.build(); } 我正在尝试通过此网址找到 swagger ui http://localhost:8080/swagger-ui.html 之后出现Whitelabel错误页面,但是 http://localhost:8080/api-docs 完美运作 那么问题出在哪里呢? 通常,如果您访问/swagger-ui.html,您将重定向到/swagger-ui/index.html,只需再添加一条路径以允许所有: .requestMatchers("/swagger-ui/**").permitAll()
$ref "#/components/responses/" 未找到 @OA\Response(response=200)
我正在尝试在 Laravel 项目中实现 openAPI 文档。我正在使用 darkaonline/l5-swagger 包,它构建在 swagger-php 之上来生成文档。我面对的是专业人士...
Azure 函数:自动 OpenAPI 规范中的仅限日期参数
我正在使用 Microsoft.Azure.WebJobs.Extensions.OpenApi 在 .net 6 中创建一个进程内 Azure 函数,以启用自动 OpenAPI/Swagger 规范。 我需要发送一个日期(没有时间)作为...
Laravel 雄辩模型与 swagger openApi 注释问题
所以在我的用户模型中,我有一个函数 fullname 返回用户的全名: /** * @return 属性 */ 公共函数 fullname():属性 { 返回新属性( 得到:...
对于 Azure APIM 中的 API 代理之一,我们希望添加示例,以便开发人员可以登录开发者门户并使用提供给他们的示例快速测试它,这对于 Q...
.NET 7/8 如何使用 Minimap API 提供组的描述/摘要?
我添加了一组最小的 API,如下所示: var myapi = app.MapGroup("myapi").WithTags("我的 API").WithOpenApi(); // 进而 myapi .MapGet($"/", GetAllStuff).WithNa...
DotNet 7/8 如何使用 Minimap API 提供组的描述/摘要?
我添加了一组最小的 API,如下所示: var myapi = app.MapGroup("myapi").WithTags("我的 API").WithOpenApi(); // 进而 myapi .MapGet($"/", GetAllStuff).WithNa...
新版本2.6.0+中Spring boot swagger或open api集成错误
在我的应用程序中使用 swagger 时,该应用程序在运行应用程序时出现版本问题。 引起原因:java.lang.UnsupportedClassVersionError:org/springdoc/core/conditions/