У меня есть проект на основе npm
, и я хочу внедрить в него клиент REST API на основе swagger
. Моя идея состоит в том, чтобы иметь файл описания API yaml
и генерировать клиент на этапе сборки. Есть ли какие-нибудь хорошо известные подходы к этому? Я нашел только swagger-js-codegen
, но я не совсем понимаю, как это интегрировать в процесс сборки.
Генерация клиентов Swagger
Ответы (1)
Учитывая, что ваш REST API задокументирован в спецификации Swagger/OpenAPI, вы можете просто использовать curl
(или другие http-инструменты) для отправки HTTP-запроса для создания клиентов API в рамках процесса сборки. Пример запроса curl для создания ruby-клиента для http://petstore.swagger.io/v2/swagger.json
выглядит следующим образом:
curl -X POST -H "content-type:application/json" -d '{"swaggerUrl":"http://petstore.swagger.io/v2/swagger.json"}' https://generator.swagger.io/api/gen/clients/ruby
См. https://github.com/swagger-api/swagger-codegen#online-generators для получения дополнительной информации.
ОБНОВЛЕНИЕ: в мае 2018 года около 50 ведущих участников и создателей шаблонов Swagger Codegen решили разветвить Swagger Codegen, чтобы поддерживать управляемую сообществом версию под названием Генератор OpenAPI. Дополнительные сведения см. в разделе Q&A.
person
William Cheng
schedule
01.10.2016
Есть ли способ сделать это, не заходя в интернет? Наша операционная группа не слишком заинтересована в том, чтобы полагаться на третью сторону, такую как swagger.io, для прохождения нашей CI-сборки.
- person Yasammez; 22.03.2018
Вместо этого вы можете загрузить JAR, как указано в README проекта: github.com/swagger-api/swagger -codegen
- person William Cheng; 22.03.2018