Использование OpenAPI3 (swagger) в нескольких микросервисах и создание одного определения OpenAPI - PullRequest
1 голос
/ 20 июня 2020

У меня есть набор микросервисов, каждый со своим собственным полным OpenAPI spe c и root путь уровня

Определение микросервиса

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

И root определение OpenAPI

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 чванство к API-шлюзу при сохранении каждой службы как автономной единицы)

Я бы за пример ожидаем, что получившаяся чванство предложит это как путь

/microservice1/healthcheck/ping
...