Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在多个微服务中使用OpenAPI3(swagger)并生成单个OpenAPI定义_Swagger_Openapi - Fatal编程技术网

在多个微服务中使用OpenAPI3(swagger)并生成单个OpenAPI定义

在多个微服务中使用OpenAPI3(swagger)并生成单个OpenAPI定义,swagger,openapi,Swagger,Openapi,我有一组微服务,每个都有自己完整的OpenAPI规范和根级别的路径 微服务定义 openapi: 3.0.0 info: description: Microservice API version: '0.0.1' paths: /: get: tags: - Root summary: Root Path operationId: Root responses: '200':

我有一组微服务,每个都有自己完整的OpenAPI规范和根级别的路径

微服务定义

openapi: 3.0.0
info:
  description: Microservice API
  version: '0.0.1'
paths:
  /:
    get:
      tags:
        - Root
      summary: Root Path
      operationId: Root
      responses:
        '200':
          description: Request was successful
      deprecated: false
  /healthcheck/ping:
    get:
      tags:
        - Healthcheck
      summary: Test the reachability of the microservice.
      operationId: Ping
      responses:
        '200':
          description: Request was successful
      deprecated: false
openapi: "3.0.0"
info:
  version: 1.0.0
  title: API
servers:
  - url: http://api.something.com/v1
paths:
  /microservice1:
    $ref: "https://storagebucket.someservice.com/service-definitions/microservice-swagger.yaml"
和根OpenAPI定义

openapi: 3.0.0
info:
  description: Microservice API
  version: '0.0.1'
paths:
  /:
    get:
      tags:
        - Root
      summary: Root Path
      operationId: Root
      responses:
        '200':
          description: Request was successful
      deprecated: false
  /healthcheck/ping:
    get:
      tags:
        - Healthcheck
      summary: Test the reachability of the microservice.
      operationId: Ping
      responses:
        '200':
          description: Request was successful
      deprecated: false
openapi: "3.0.0"
info:
  version: 1.0.0
  title: API
servers:
  - url: http://api.something.com/v1
paths:
  /microservice1:
    $ref: "https://storagebucket.someservice.com/service-definitions/microservice-swagger.yaml"
我的假设是,这样安排事情是可能的,但为了有效性,我在“大摇大摆”编辑器中遇到了大量错误

使用
microservice swagger.yaml#/paths/~1
可以让我有所收获,但我希望服务yaml中的所有路径都可以简单地附加到主定义中的路径。有人知道如何做到这一点吗

(其背后的原因是在将每个服务作为一个自包含的单元进行维护的同时,将此root-swagger应用于API网关)

例如,我希望由此产生的大摇大摆能提供这一途径

/microservice1/healthcheck/ping