Генерирайте 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 по-късно, regex тук не се изисква   -  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 - той е базиран на UI, но може да ви спести малко време.

person Shannon Wallace    schedule 30.01.2018