swagger-ui 相关问题

Swagger UI是HTML,CSS和JavaScript对象的集合,可以从符合Swagger的API动态生成文档

Docker 容器中的 Swagger 获取 - ERR_EMPTY_RESPONSE

尝试在运行 ASP.NET Core API 的 Docker 容器中访问 Swagger 时遇到 ERR_EMPTY_RESPONSE 错误。 API 和 Docker 设置似乎是正确的,但我无法处理...

回答 1 投票 0

如何从 SwaggerResponse 模型中隐藏/排除属性?不是请求而是响应

以下是需要从 SwaggerResponseModel 中排除 VersionRange 属性的类: 公共类依赖 { 公共字符串名称{获取;放; } [JsonConv...

回答 1 投票 0

添加不记名令牌字段以在 Java EE / Jersey 中生成 Swagger UI

我有一个 Java EE 8 应用程序,在其中使用 OpenAPI 注释来定义 REST 端点并自动生成 Swagger UI。对于身份验证,我使用 JSON Web 令牌 (JWT)。 一切...

回答 2 投票 0

如何使用 SpringDoc openAPI 为两个模块公开单个 swagger-ui

我正在尝试公开一个 swagger-ui,它记录了在两个不同模块中公开的控制器的 api。 控制器位于不同的模块中,因为我需要它们位于单独的连续...

回答 1 投票 0

FastAPI:“导入错误:尝试在没有已知父包的情况下进行相对导入”

我是 FastAPI 新手,在导入其他文件时一直遇到此问题。 我收到错误:u200du200du200du200d 从 。导入模式 ImportError:尝试在没有已知父包的情况下进行相对导入 ...

回答 3 投票 0

Swagger 示例的请求正文显示类中的属性,而不是将对象的值格式化为字符串表示形式

我在 CreateDto 中引用 SemanticVersion 和 VersionRange 类,这些类是从 NuGet.Versioning 包中引用的。 创建DtoClass: [必需的] 公共字符串名称{获取;放; } ...

回答 0 投票 0

Swagger 2 将所有字段标记为参数

在 Spring Boot 2 中,我使用一个对象来保存一组参数,如下所示。问题是如何将 swagger 中的每个字段记录为参数。目前 swagger-ui 将单个参数呈现为对象

回答 1 投票 0

Swagger 创建 URL 中定义的名为“apiDocumentationScanner”的 bean 时出错

我无法将 swagger 添加到我的项目中。 如果您需要任何信息,我可以分享信息。 感谢所有已经观看过的人。 我也尝试了3.0.0版本,但问题仍然无法解决...

回答 1 投票 0

使用 OpenAPI 呈现字典字典的示例

我面临的情况是整个 openapi 规范被分割成多个相互引用的文件,如下所示。在此链的末尾,有一个 DataContainer.yaml 的示例。哈...

回答 0 投票 0

OpenAPI - swagger-ui.html 无法推断基本 URL

我正在尝试将 swagger-ui (OpenAPI 3.0) 添加到 Spring Boot 应用程序中。 添加了 openapi-ui maven 依赖项。 org.springdoc 我正在尝试将 swagger-ui (OpenAPI 3.0) 添加到 Spring Boot 应用程序。 添加了 openapi-ui maven 依赖项。 <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <version>1.7.0</version> </dependency> 但是加载 /swagger-ui.html 时,我们会收到一个带有以下消息的警报框 无法推断基本网址。当使用动态 Servlet 注册或 API 位于 API 网关后面时,这种情况很常见。基本 url 是提供所有 swagger 资源的根。例如如果 api 在 http://example.org/api/v2/api-docs 可用,则基本 URL 为 http://example.org/api/。请手动输入位置: 而 openapiconfig 是 @Configuration public class OpenApiConfiguration { @Bean public OpenAPI customOpenAPI() { return new OpenAPI().info(apiInfo()); } private Info apiInfo() { return new Info() .title(API_INFO_TITLE) .description(API_INFO_DESC) .version(API_INFO_VER) .license(apiLicence()); } } 有任何解决方法的建议吗?

回答 0 投票 0

Swagger UI 强制参数为“必需”

我有 2 个相似的端点。 @GetMapping(“/api/实体”) @SecurityRequirement(name = "基本身份验证") 公共列表 getAll() { 返回entityService。

回答 1 投票 0

Django REST Framework Swagger - 身份验证错误

我按照文档中的说明进行操作。所以这是我的观点: 从rest_framework.decorators导入api_view,renderer_classes 从rest_framework导入响应,模式 来自rest_framework_swagger。

回答 2 投票 0

Kafka Listener 的 Swagger 文档

我已经使用 Swagger 为 REST API 生成文档,但我正在构建 Kafka 监听器并希望为其生成文档。我们是否有可能使用 Swagger 或类似的东西? T...

回答 2 投票 0

如何使用 FastAPI 通过 Swagger UI 发送授权标头?

在前端,我有以下JS函数: 导出常量 uploadFormData = 异步 ( 令牌:字符串, 电子邮件:字符串, formInfo: 数组, ): 承诺 => { c... 在前端,我有以下JS函数: export const uploadFormData = async ( token: string, email: string, formInfo: Array<Object>, ): Promise<any> => { const formData = new FormData(); formData.append('email', email); formData.append('form_info', JSON.stringify({ formInfo })); return fetch( `${process.env.ENDPOINT}/upload_form_data/`, { method: 'POST', headers: { Authorization: `Token ${token}`, }, body: formData, }, ).then((response) => { console.log(response.body?.getReader()); if (response.status === 404) { throw Error('Url not found'); } if (response.status === 422) { throw Error('Wrong request format'); } if (response.status !== 200) { throw Error('Something went wrong with uploading the form data.'); } const data = response.json(); return { succes: true, data, }; }).catch((error) => Promise.reject(error)); }; 向 FastAPI 后端中的以下端点发送 POST 请求: @app.post("/api/queue/upload_form_data/") async def upload_form_data( email: str = Body(...), form_info: str = Body(...), authorization: str = Header(...), ): return 'form data processing' 然而,它不断抛出以下错误: 在前端: POST http://localhost:8000/api/queue/upload_form_data/ 422 (Unprocessable Entity) Uncaught (in promise) Error: Wrong request format 在后端: POST /api/queue/upload_form_data/ HTTP/1.1" 400 Bad Request 在 Swagger UI(响应主体)中: { "detail": [ { "loc": [ "header", "authorization" ], "msg": "field required", "type": "value_error.missing" } ] } 导致这些错误的请求有什么问题? 在 Swagger/OpenAPI 规范中,Authorization 是一个保留标头——与 Accept 和 Content-Type 标头一样——用于 Swagger 的内置 authentication/authorization 功能(参见 Swagger 文档)。因此,它们不允许被定义。 如果您使用的是 Swagger,则不能在端点中定义 Authorization 标头参数并期望它起作用,因为在通过 Swagger UI 提交请求时它会被忽略,并且您会收到 422 Unprocessable Entity 错误正文消息说 authorization 标头正在缩小(就像您问题中发布的错误一样)。 解决方案 解决方案 1 如果您 不需要 需要 Swagger UI 来测试您的应用程序,您可以保持原样并继续使用 JavaScript Fetch API,在标头中传递 Authorization。例如: from fastapi import Header @app.post('/') def main(authorization: str = Header(...)): return authorization 此外,请注意,您实际上不必在端点中定义任何 Header 参数,因为您始终可以通过 Request 对象直接访问它们,例如: from fastapi import Request @app.post('/') def main(request: Request): authorization = request.headers.get('Authorzation') return authorization 解决方案 2 如果您确实也需要它与 Swagger UI 一起使用,一种解决方案是使用 FastAPI 的HTTPBearer,这将允许您在 Swagger 中单击屏幕右上角的Authorize 按钮UI autodocs(位于/docs),您可以在其中的Value 字段中键入您的API 密钥。这将在请求标头中设置 Authorization 标头。例子: from fastapi import FastAPI, Depends from fastapi.security import HTTPBearer app = FastAPI() security = HTTPBearer() @app.get('/') def main(authorization: str = Depends(security)): return authorization.credentials 或者,您可以使用 APIKeyHeader. from fastapi import FastAPI, Security from fastapi.security.api_key import APIKeyHeader app = FastAPI() api_key_header = APIKeyHeader(name='Authorization') @app.get('/') def main(api_key: str = Security(api_key_header)): return api_key 解决方案 3 另一种解决方案是将 authorization Header 参数重命名为其他名称,例如 token。然后,在您的端点内,检查 API 密钥是否在 token 或 request.headers.get('Authorization') 参数中——如果两者都返回 None,则这意味着没有提供令牌。例子: from fastapi import FastAPI, Request, Header from typing import Optional app = FastAPI() @app.get('/') def main(request: Request, token: Optional[str] = Header(None)): authorization = request.headers.get('Authorization') return token if token else authorization

回答 1 投票 0

FastAPI.Path 中大于 (gt) 和小于 (lt) 的参数在 Swagger UI 中不起作用

使用的版本 蟒蛇 3.9.9 FastAPI 0.95.1 uvicorn 0.22.0 火狐 102.8.0 在此示例中,路径参数 item_id 设置为有效范围 > 100 (gt=100) 和 < 1000 (lt=1000). Howeve...

回答 1 投票 0

如何将 Swagger UI 嵌入到 Vue 组件中?

我克隆了 https://github.com/swagger-api/swagger-ui 并将 dist 文件夹从它复制到 Vue 项目中。 然后我使用以下代码创建了一个新文件 SwaggerView.vue: &l... 我已经克隆了https://github.com/swagger-api/swagger-ui并将dist文件夹从它复制到一个Vue项目中。 然后我使用以下代码创建了一个新文件 SwaggerView.vue: <template> <div class="swagger" id="swagger"></div> </template> <script> import SwaggerUI from 'swagger-ui'; import 'swagger-ui/dist/swagger-ui.css'; export default { name: "Swagger", mounted() { const spec = require('../path/to/my/spec.json'); SwaggerUI({ spec: spec, dom_id: '#swagger' }) } } </script> 但是会导致错误: 无法解决导入“swagger-ui”的问题 “src/views/SwaggerView.vue”。文件存在吗? 应该怎么做?

回答 0 投票 0

Swagger-UI 或 OpenAPI-generator 是否支持多部分请求的每个部分的标头?

获取以下 openapi 规范文件并将其粘贴到 editor.swagger.io 或以您选择的语言通过 openapi-generator 运行它: 打开API:3.0.0 信息: 版本:随便 标题:随便

回答 1 投票 0

如何使用 yaml/json 配置文件托管 Swagger 文档?

@配置 @EnableSwagger2 公共类 SwaggerConfig2 扩展 WebMvcConfigurerAdapter { @基本的 @豆 公共 SwaggerResourcesProvider swaggerResourcesProvider() { 返回...

回答 1 投票 0

如何将默认路由覆盖到 asp net core 中的任何所需路由?

我正在尝试覆盖 swagger 文档中 API 的默认路由。我的意图是在文档中只显示数据合同而不显示端点。 我试过使用 OperationFilter 和

回答 0 投票 0

使用 Swagger UI .Net 6 实施 OAuth2

我很想用我的 .NET 6 应用程序配置 OAuth,但我很挣扎 我首先想知道什么是我不想在 Identity Provi 上注册我的应用程序的用例的最佳 OpenApiOAuthFlow ...

回答 0 投票 0

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