Кто-нибудь использует Swagger Codegen или OpenAPI Generator SDK в производственной среде?

Swagger Code Generator может генерировать SDK на многих языках (перечислены ниже на странице проекта Github). Кто-нибудь использует какой-либо из автоматически сгенерированных SDK Swagger в производстве, как альфа/бета, так и GA, и если да, то какие организации и для каких языков?

Я сделал несколько поисков в Google и спросил. Хотя я нашел много примеров развернутого пользовательского интерфейса Swagger, я еще не нашел ни одного SDK Code Gen.

Страница проекта: https://github.com/swagger-api/swagger-codegen

Языки:

$ ls -1 modules/swagger-codegen/src/main/java/com/wordnik/swagger/codegen/languages/
AndroidClientCodegen.java
AsyncScalaClientCodegen.java
CSharpClientCodegen.java
JavaClientCodegen.java
JaxRSServerCodegen.java
NodeJSServerCodegen.java
ObjcClientCodegen.java
PhpClientCodegen.java
PythonClientCodegen.java
RubyClientCodegen.java
ScalaClientCodegen.java
ScalatraServerCodegen.java
SpringMVCServerCodegen.java
StaticDocCodegen.java
StaticHtmlGenerator.java
SwaggerGenerator.java
SwaggerYamlGenerator.java
TizenClientCodegen.java

Обновление - Отслеживание официального проекта SDK (июнь 2018)

Я отслеживаю идентифицируемые официальные SDK Codegen от более крупных организаций, чтобы лучше отслеживать принятие. Многие организации, которые считают себя использующими некоторые проекты codegen, не публикуют SDK в своих учетных записях GitHub.

Обновление - личный опыт (декабрь 2017)

Сейчас я активно использую Swagger Codegen для Go (2.2.3 - 2.3.1). Пока что мой опыт показывает, что он делает достойную работу, но для получения рабочего SDK может понадобиться множество ручных настроек, поэтому пакет/репозиторий GitHub все еще хорош. Вы можете увидеть некоторые проблемы в проблемах GitHub для SDK, которые я поддерживаю. Я также добавляю постобработку к файлам codegen/swagger_codegen_command.sh в каждом репо.

Обновление - добавление OpenAPI Generator (июль 2018)

OpenAPI Generator является ответвлением Swagger Codegen, так что об этом сейчас упоминается.

Ответ 1

Я выполнил поиск в Github и нашел несколько проектов (SDK), сгенерированных Swagger-Codegen.

Вот один пример: онлайн-конвертация API2 Swift SDK

Вы также можете обратиться к странице Swagger-Codegen Github для обсуждения варианта использования Swagger-Codegen.

ОБНОВЛЕНИЕ: Вот некоторые, но не все компании/проекты, использующие Swagger Codegen в производстве: https://github.com/swagger-api/swagger-codegen#companiesprojects-using-swagger-codegen

Примечание. По состоянию на июль 2017 года Swagger Codegen предлагает более 70 генераторов для API-клиента, заглушек сервера и документации API.

ОБНОВЛЕНИЕ: В мае 2018 года около 50 ведущих участников и создателей шаблонов Swagger Codegen решили раскошелиться на Swagger Codegen для поддержки управляемой сообществом версии OpenAPI Generator. Пожалуйста, обратитесь к Q & A для получения дополнительной информации.

Ответ 2

Как разработчик платформы и DevOps, я могу сказать, что успешно внедрил его в проект, который использует Dreamfactory API Automation, поскольку BaaS и API определяются swagger. Таким образом, SDK для мобильного приложения, а также внутренние приложения генерируются с помощью swagger-codegen. Мы столкнулись с несколькими ошибками в шаблоне swagger-codegen для наших языков, которые было довольно легко исправить. В целом это сэкономило много времени и уменьшает потенциальные источники ошибок.

Ответ 3

Я использовал его для загрузки нашего API на основе spring codegen и теперь использую его для изменения и добавления моделей домена и конечных точек API. Вы все равно должны изменить некоторые аспекты сгенерированных классов, но это делает рефакторинг очень безболезненным и мешает мне накладывать технический долг. Его чрезвычайно полезно иметь сгенерированный swagger-ui для ручного тестирования, и вы можете импортировать спецификацию в Postman, которые генерируют заглушки, чтобы у вас была хорошая стартовая точка и обзор TODO для написания ваших тестов.

Пока не использовали SDK. Я попытался использовать различные js-клиенты, но они не предоставили никаких преимуществ перед простыми библиотеками извлечения.

Я вижу большой потенциал в codegen для более сложных js-фреймворков вроде Angular или React + Redux, а также для автоматизации тестирования.