swagger 相关问题

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

ZOD 到 swagger API Dto 类用于 Nestjs swagger

如何将这个 zod 模式转换为 swagger 用户的 CountryDto ?我使用 Nestjs 和 zod 进行输入验证。使用 nesjs/swagger 包进行 swagger。 导出 const CountrySchema = z .

回答 1 投票 0

API Gateway 不聚合微服务 swagger 文档 Spring boot

Pom.xml: io.springfox springfox-boot-starter 3.0.0 Pom.xml: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <version>1.6.7</version> </dependency> SwaggerConfig.java: @Configuration @RequiredArgsConstructor public class SwaggerConfig { private final RouteDefinitionLocator locator; @Bean public List<GroupedOpenApi> apis() { List<GroupedOpenApi> groups = new ArrayList<>(); List<RouteDefinition> definitions = locator.getRouteDefinitions().collectList().block(); definitions.stream().filter(routeDefinition -> routeDefinition.getId().matches(".*-service")).forEach(routeDefinition -> { String name = routeDefinition.getId().replaceAll("-service", ""); GroupedOpenApi api = GroupedOpenApi.builder().pathsToMatch("/" + name + "/**").group(name).build(); groups.add(api); }); return groups; } } application.yml: gateway: discovery: locator: enabled: true lower-case-service-id: true routes: - id: swagger uri: http://localhost:${server.port} predicates: - Path=/v3/api-docs/** filters: - RewritePath=/v3/api-docs/(?<path>.*), /$\{path}/v3/api-docs - id: test-service uri: lb://test-service predicates: - Path=/testservice/** filters: - RewritePath=/testservice/(?<path>.*), /$\{path} Api 网关在发现服务器的帮助下看到测试服务。当我进入网关服务器的 swagger-ui 时, 在“选择定义”选项卡中,我只看到“默认”定义,但没有看到我真正想要的测试服务定义。我使用过这些教程: https://piotrminkowski.com/2020/02/20/microservices-api-documentation-with-springdoc-openapi/ https://dgempiuc.medium.com/api-gateway-swagger-composition-e9416398ca47 我用这个解决了application.yml: spring: cloud: gateway: routes: - id: openapi uri: http://localhost:${server.port} predicates: - Path=/v3/api-docs/** filters: - RewritePath=/v3/api-docs/(?<path>.*), /$\{path}/v3/api-docs - id: characters-service uri: lb://characters-service predicates: - Path=/characters-service/** filters: - RewritePath=/characters-service/(?<path>.*), /$\{path} springdoc: enable-native-support: true api-docs: groups: enabled: true enabled: true group-configs: - group: api-gateway packages-to-scan: - dev.kambei.apigateway display-name: API Gateway - group: characters-service paths-to-match: - /characters-service/** display-name: Characters Service swagger-ui: config-url: /v3/api-docs/swagger-config url: /v3/api-docs urls: - url: /v3/api-docs name: API Gateway - url: /characters-service/v3/api-docs name: Characters Service 您可以在yaml文件中添加此配置: springdoc: api-docs: enabled: true swagger-ui: config-url: v3/api-docs/swagger-config url: /v3/api-docs urls: - name: test url: /v3/api-docs/test

回答 2 投票 0

我无法使用 Spring Security 访问 swagger url

我在我的项目中使用 Spring Security,现在我尝试使用 Swagger OpenAPI 创建文档,但我一直遭受由此引起的冲突。我不知道我要做什么...

回答 1 投票 0

Swagger - 如何从对象数组中获取嵌套对象属性

使用“openapi”:“3.0.1” 响应必须是 application/json “回应”:{ “200”:{ “描述”:“结果”, “c...

回答 1 投票 0

Flask + Connexion + Swagger 启动失败

问题 我启动了一个 Flask 应用程序(+ Connexion 和 Swagger UI)并尝试打开 http://127.0.0.1:5000/api/ui。浏览器显示starlette.exceptions.HTTPException: 404: The requested URL was not fo...

回答 1 投票 0

在springdoc中禁用处理验证注释

我想从自动生成的 swagger 文档中删除参数“minimum” 我使用springdoc库自动生成swagger文档 我想从自动生成的 swagger 文档中删除参数“最小值” 我使用springdoc库自动生成swagger文档 <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <version>2.1.0</version> </dependency> 我在其中一个控制器中有这个方法 @GetMapping("page") @ResponseStatus(HttpStatus.OK) List<RecordInfoDto> getPage(@RequestParam("size") @jakarta.validation.constraints.Min(value = 1, message = "size must be more than 0") int size, @RequestParam("number") @jakarta.validation.constraints.Min(value = 0, message = "number must be non-negative") int number); 此方法生成以下文档 "/page": { "get": { ... "parameters": [ { "name": "size", "in": "query", "required": true, "schema": { "minimum": 1, "type": "integer", "format": "int32" } }, { "name": "number", "in": "query", "required": true, "schema": { "minimum": 0, "type": "integer", "format": "int32" } } ], ... 我想要相同的 swagger 文档,只是“模式”部分中没有“最小”参数 我尝试使用 io.swagger.v3.oas.annotations.media.annotation.Scheme 显式指定方案,但是无论我按注释的顺序放置,它都没有帮助 @GetMapping("page") @ResponseStatus(HttpStatus.OK) List<RecordInfoDto> getPage(@RequestParam("size") @io.swagger.v3.oas.annotations.media.Schema(minimum = "100") @jakarta.validation.constraints.Min(value = 1, message = "size must be more than 0") int size, @RequestParam("number") @jakarta.validation.constraints.Min(value = 0, message = "number must be non-negative") int number); 文档仍然有“最小”:参数大小为 1 我尝试使用 io.swagger.v3.oas.annotations.Parameter,但也没有帮助 @GetMapping("page") @ResponseStatus(HttpStatus.OK) List<RecordInfoDto> getPage(@RequestParam("size") @io.swagger.v3.oas.annotations.Parameter(name = "size", required = true, in = ParameterIn.QUERY, schema = @Schema(minimum = "100")) @jakarta.validation.constraints.Min(value = 1, message = "size must be more than 0") int size, @RequestParam("number") @jakarta.validation.constraints.Min(value = 0, message = "number must be non-negative") int number); 同时,如果我去掉注解jakarta.validation.constraints.Min,则根据注解生成文档,最小值变为100 你想要的是制定开放API规范谎言。 正如您在评论中所说,您“不想删除 @Min 注释,因为它是 真实验证 所必需的”,另一方面,您希望在生成的 Open API 规范中隐藏此验证约束。 您的要求是矛盾的,您不应该对这是不可能的感到惊讶。 文档的目的是指定 API 的合约。如果您的 API 验证了最小值,那么它就是其合同的一部分。机器可读文档(开放 API)的目的之一是自动防止客户端发送无效请求。 拥有 @Schema(minimum="100") 和 @Min(value=1) 就是精神分裂症。

回答 1 投票 0

无法使用 Swagger 3 UI 添加全局标头参数

我已使用依赖项 springdoc-openapi-ui 1.6.8 version 将现有项目 Swagger 迁移到 Swagger3 。 在 Swagger 配置文件中添加全局标头参数时遇到问题,这不是......

回答 1 投票 0

生产中 Swagger UI 的最佳实践

我正在开发带有 Swagger UI 的 REST API。当需要公开 API 时,我是否也应该公开 Swagger UI?如果是这样,我将如何将其打包到我的应用程序中。目前,我有 UI

回答 3 投票 0

为什么 swagger 不显示控制器端点?

我正在使用 Swagger 开发 ASP.NET Core 项目来获取 API 文档。但是,我遇到了一个问题,Swagger UI 没有按预期显示我的控制器,它只显示最小的...

回答 1 投票 0

使用openapi-typescript-codegen,为什么这个Swagger schema会生成Record的模型<string, any>?

我的 swagger.json 包含以下架构: “模式”:{ “构建水果体”:{ “特性”: { “ID”: { ...

回答 1 投票 0

如何将 OpenAPI 响应示例内容转换为简单的 JSON 以供代码荧光笔使用?

我想在highlight.js中的OpenAPI v3.0.0规范的paths.{url}.{method}.responses部分中显示响应的示例内容。我目前正在从远程 JSON OpenAPI 规范获取此类对象: &

回答 1 投票 0

在springboot aplc中配置swagger出现错误

我正在尝试在我的 Spring 应用程序中配置 swagger,但出现此错误: java.lang.NullPointerException:无法调用“org.springframework.web.servlet.mvc.condition.PatternsRequestCondit...

回答 1 投票 0

Express 与 Typescript 中的 Swagger UI 类型错误

TypeError:尝试获取资源时出现网络错误。 每当我转到这条路线(http://localhost:4001/api/4a7ed517 时,它都会在我的浏览器或任何其他 http 客户端(例如 insomnia)中打开,但它不是

回答 1 投票 0

如何使用 Swagger UI 在 ASP.NET Core Web API 中实现多态请求体?

我正在开发一个 ASP.NET Core Web API,我需要允许客户端在发送 PUT 请求时在多个派生类型之间进行选择。 我已经使用基类在代码中设置了多态性并且

回答 1 投票 0

ASP.NET Core 默认 swagger 页面

我正在使用 ASP.NET Core 6 和 NSwag.AspNetCore v13.20.0。 我应该如何配置 app.UseSwaggerUi3();为了在该 url https://url/prefix/swagger/index.html 中打开默认的 swagger 页面...

回答 1 投票 0

在 .NET 6 中使用 Swashbuckle 和 OAuth 代码流,swagger UI 没有发送任何身份验证标头

我正在尝试使用 PCKE 获取 OAuth 代码流,以便与 .NET 6 中的 Swashbuckle (6.2.3) 和 swagger ui 一起使用。有一些成功发生的事情: 在 swagger UI 中,我可以单击“Authoriz...

回答 2 投票 0

如何禁用/删除 swagger drf_yasg 中的授权按钮(维护 CSRF)-django

如何禁用 drf_yasg 中的授权按钮? (我仍然希望 CSRF 起作用) 更新: 目前,我有这样的设置,因为我想删除 Django 登录并维护 csrf。哈...

回答 3 投票 0

如何使用 drf-yasg 在 django-rest-framework 中为文件上传 API 制作 swagger 架构?

我找不到任何为文件上传 API 制作架构的支持。 Swagger UI 必须有一个按钮,允许测试人员上传文件以进行测试。我正在使用 firebase 作为 da...

回答 4 投票 0

类型 ApiSelectorBuilder 中的方法 apis(java.util.function.Predicate<springfox.documentation.RequestHandler>) 不适用

@Bean .api 方法给我以下错误。我像往常一样使用 @Beans 添加了 Swagger 配置类。 方法 api(java.util.function.Predicate) 在...

回答 7 投票 0

如何为 Boot 应用程序启用 Swagger API 端点?

如何为我的微服务启用 Swagger 端点?根据 Baeldung 的这篇文章,这应该非常简单 首先,添加 Springfox 依赖项 io.sprin...

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.