小编Hel*_*len的帖子

如何描述使用的OpenAPI(扬鞭)一个多反应?

我有一个创建包含以下内容的多部分文件的服务:

  • 代表图像缓冲区的数据字节数组
  • 一个JSON表示关于图像(坐标,格式等)的信息

是否有可能使用YAML在提供的OpenAPI(扬鞭)定义这个自定义响应模型,?

multipart swagger openapi

3
推荐指数
1
解决办法
1882
查看次数

如何删除 Swagger UI 中标题下的 API 定义 URL?

我正在使用 Swagger UI 并希望删除标题部分下显示的 API 定义 URL(链接到 YAML 文件),如图片上突出显示的那样。这可以通过自定义 Swagger UI index.html页面来完成吗?

Swagger-UI

swagger swagger-ui

3
推荐指数
1
解决办法
3537
查看次数

如何在OpenAPI 3中定义另一个模式的数组?

我定义了以下架构:

User:
  type: object
  required:
    - id
    - username
  properties:
    id:
      type: integer
      format: int32
      readOnly: true
      xml:
        attribute: true
      description: The user ID
    username:
      type: string
      readOnly: true
      description: The username
    first_name:
      type: string
      description: Users First Name
    last_name:
      type: string
      description: Users Last Name
    avatar:
      $ref: '#/components/schemas/Image'
  example:
    id: 10
    username: jsmith
    first_name: Jessica
    last_name: Smith
    avatar: image goes here
  xml:
    name: user
Run Code Online (Sandbox Code Playgroud)

效果很好。该GET /user/{id}调用会很好地显示示例数据。

我有第二个架构,可以创建上述架构的数组:

ArrayOfUsers:
  type: array
  items:
    type: object
    required:
      - id
      - …
Run Code Online (Sandbox Code Playgroud)

swagger openapi

3
推荐指数
1
解决办法
1618
查看次数

如何更改Swagger Codegen生成的JavaScript模块名称?

我正在使用Swagger Codegen生成JavaScript客户端:

swagger-codegen generate -i http://localhost:8080/v2/api-docs \
-l javascript -o subscreasy-javascript-client
Run Code Online (Sandbox Code Playgroud)

生成的模块的名称是api-documentation.

如何配置swagger-codegen以便使用自定义名称生成JavaScript模块?

swagger swagger-codegen

3
推荐指数
1
解决办法
326
查看次数

SwaggerHub中是否有API可以更新文件定义?

有用于更新文件定义的API吗?我正在寻找一种方法来自动保持Git和SwaggerHub中的项目同步,因此我想在每次合并时更新文件定义。可能吗?如何管理使项目和SwaggerHub定义自动保持同步?

swaggerhub

3
推荐指数
1
解决办法
279
查看次数

如何在 Swagger UI 的标记中插入少量自定义?

我有一个使用 Swashbuckle(Swashbuckle.AspNetCore.SwaggerGen 3.0.0 和 Swashbuckle.AspNetCore.SwaggerUi 3.0.0)记录的 .NET Core 项目。我的目标是在带有类标题的 DIV 正下方添加一个自定义标签(即在服务名称下方但在端点上方)。

当我调查 Swagger UI 标记时,我看到有一个带有类swagger-ui的 DIV,我想将我的东西插入其中,可以这么说。我今天的设置是一个名为donkey.html的文件,当我访问 Swagger UI 的 URL 时会呈现该文件,如下所示。

...
<body>
  <div id="swagger-ui"></div>
  <div id="api_info"></div>
  <!-- ... -->
  <script src="./swagger-ui-bundle.js"></script>
  <script src="./swagger-ui-standalone-preset.js"></script>
  <script type="text/javascript">
    (function () { ... })();
  </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我已经用谷歌搜索了几个小时,并阅读了很多关于 OpenAPI 和 YAML 的内容。然而,我得到的印象是它需要对 Swagger UI 项目进行全面重建,而我目前的目标是实现一个更简单的任务。

有没有办法插入名为api_info的 DIV,以便它作为swagger_ui的一部分呈现,而无需重新生成整个 Swagger UI 项目?

我试图增加基本布局,如图所示但结果很糟糕,结果比我的目标要复杂一些。也许这是创建模块的唯一可行方法,在这种情况下我会考虑它,但在这种情况下这是最后的资源。

html swagger-ui

3
推荐指数
1
解决办法
4937
查看次数

如何在 SwaggerHub 中的不同 API 之间进行引用?

我正在使用 SwaggerHub 和 OpenAPI 3.0.0。我在 SwaggerHub 中有两个 API。

第一个有以下访问链接:https : //app.swaggerhub.com/apis/myapipath/1.0.0并包含一个名为components/schemas/ApiOffer.

在第二个 API 中,我希望该属性offer成为$ref该定义的一个。我用:

components:
  schemas:
    Offerers:
      type: object
      required:
        - offererId
        - overview
      properties:
        offererId:
          $ref: '#/components/schemas/OfferersId'
        overview:
          $ref: '#/components/schemas/OfferersOverview'
        offer:
          $ref: 'https://app.swaggerhub.com/apis/myapipath/1.0.0#/components/schemas/ApiOffer'
Run Code Online (Sandbox Code Playgroud)

但得到以下错误:

“无法解析引用,因为:无法解析指针:文档中不存在 /components/schemas/ApiOffer”

即使/components/schemas/ApiOffer定义存在。

如何更正我的引用以使其指向其他 API?

swagger openapi swaggerhub

3
推荐指数
1
解决办法
510
查看次数

如何更改 Swagger 默认 URL 并使用自定义 URL?

我有一个在 .NetCore 3.1 中创建的 API,并使用 Swashbuckle 启用了 Swagger(OAS3)。默认情况下,当我的应用程序启动时,如果使用此 URL 显示 Swagger 页面:

http://{port}/swagger.index.html
Run Code Online (Sandbox Code Playgroud)

我想自定义 Swagger URL,以便它包含正在运行的应用程序的名称。我这样做的原因是我在 AWS Fargate 中运行 Nginx 时使用基于路径的路由。

我将在 Fargate 任务中运行多个 API 容器,Nginx 将接收来自应用程序负载均衡器和路径(例如 /api/app1)的 REST 请求,它将请求路由到目标应用程序的正确容器端口.

例如,我有三个应用程序:端口 5000 上的 App1、端口 5001 上的 App2 和端口 5003 上的 App3。

如果用户向https://api/app1发出请求,Nginx 将检测路径并将请求转发到端口 5000,这是 App1 的容器端口。

但是,为了确保出现正确的 Swagger 页面,我需要在 Swagger 的 URL 中添加“api/App1”,以便 Nginx 将请求转发到正确的容器。在本例中,它是 App1。

换句话说,我希望我的 Swagger URL 看起来像这样:

https://api/app1/swagger/index.html
Run Code Online (Sandbox Code Playgroud)

我试过的

在我的 Startup.cs 文件中,我添加了以下内容:


// Define prefix for application
private readonly string baseApplicationRoute = "api/app1";

            // Enable …
Run Code Online (Sandbox Code Playgroud)

c# swagger swashbuckle asp.net-core openapi

3
推荐指数
1
解决办法
1万
查看次数

我想使用 Node js 将 postman 文件转换为 openAPI 3.0

您能帮我将 Postman 文件转换为 openAPI 3.0 并将它们下载到机器吗?

这必须在 Node.js 中实现,我对它非常陌生。

谢谢。

node.js postman openapi

3
推荐指数
1
解决办法
5873
查看次数

Swagger 不工作 Asp.net Core 如何打开 swagger ui

这是我的 Startup.cs 文件

这是我在 Startup.cs 中的 ConfigureService 方法我已经完全根据文档对其进行了修改但它不起作用我已经删除了启动网址所以它只是在端口上并且我没有设置任何路由我在他的帮助下遇到了麻烦受到赞赏

  public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
            services.AddControllers();
            services.ConnectionToACQEs(Configuration);
            services.AddAutoMapper(typeof(Startup));
            // Register the Swagger generator, defining 1 or more Swagger documents
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo
                {
                    Version = "v1",
                    Title = "ToDo API",
                    Description = "A simple example ASP.NET Core Web API",
                    TermsOfService = new Uri("https://example.com/terms"),
                    Contact = new OpenApiContact
                    {
                        Name = "Nicky Liu",
                        Email = "nicky@zedotech.com",
                        Url = new Uri("https://www.zedotech.com"),
                    },
                    License = new OpenApiLicense
                    {
                        Name = "Use …
Run Code Online (Sandbox Code Playgroud)

c# asp.net swagger swashbuckle

3
推荐指数
1
解决办法
6941
查看次数