Создание файла Swagger для определенных конечных точек из другого файла Swagger или OpenAPI

Имея одну большую спецификацию Swagger / OpenAPI YAML, как я могу безопасно извлечь определенные конечные точки API и сгенерировать новый .yaml исключительно для них?

Конечные точки API легко идентифицировать с определенного уровня (например, с одним или несколькими отступами):

paths:
  /users:
    ...
      - $ref: '#/requests/getUser'
  /repos:
    ...
requests:
  getUser:
    ...

Я бы просто скопировал все разделы, кроме paths, в новый файл спецификаций. А затем я скопировал некоторые paths подразделы, например /users:, на основе отступов. В Python с регулярным выражением.

Но безопасен ли этот прямой метод для спецификаций?


person Anton Tarasenko    schedule 01.12.2017    source источник
comment
Вы можете сделать data = yaml.load (your.yaml), а затем просто data.get ('paths'), чтобы получить все пути и сделать yaml.dump позже, регулярное выражение здесь не требуется   -  person VelikiiNehochuha    schedule 01.12.2017
comment
Требуется ли Python? Это можно сделать с помощью Java swagger-parser, но я не знаю о Python.   -  person Helen    schedule 31.01.2018


Ответы (1)


Swagger Inspector позволяет выполнять вызовы API, а затем создавать на их основе файл определения (позволяя выбрать только подмножество вызовов, как вы хотите). См. Inspector.swagger.io - он основан на пользовательском интерфейсе, но может сэкономить вам время.

person Shannon Wallace    schedule 30.01.2018