@Simplevolk
.net программист

Какой смысл и выгода использовать Swagger?

Насколько я понимаю, Swagger позволяет описывать API с помощью конфига и потом генерировать заглушки для клиента и сервера.
А в чем тут профит?
Если кто-то работал со Swagger, то скажите в чем его преимущества\недостатки?
  • Вопрос задан
  • 10807 просмотров
Пригласить эксперта
Ответы на вопрос 3
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Вот получил я пару недель заказ на бэкенд для мобильного приложения. Само мобильное приложение будет делать команда каких-то итальянцев. Тяжело было бы мне без swagger'а наладить с ними взаимодействие, а так они просто зайдут на адрес dev-сервера и смогут получить подробное описание API и протестировать его в работе.
Ответ написан
Комментировать
@unchase
Профит в том, что имея (или не имея) серверную реализацию REST API или файл спецификации OpenAPI (Swagger) вы можете:

- автоматически генерировать к ней документацию
- автоматически генерировать клиентский код к этому REST API для множества языков программирования
- проектировать Api с помощью спецификации, а реализацией на стороне клиента и на стороне сервиса могут заниматься не связанные друг с другом команды разработчиков

Например, вы можете воспользоваться расширением для Visual Studio 2017/2019 Unchase OpenAPI (Swagger) Connected Service для автоматической генерации C# или TypeScript кода для клиента (статья на medium.com), и C# кода контроллеров для сервера по файлу спецификации.
Фактически, после генерации кода контроллера их можно заполнить тем функционалом, который Вам нужен, а после вызывать методы контроллера из сгенерированного клиента.
Ответ написан
Комментировать
@awesomer
Еще Swagger позволяет документированное API выставлять в веб (в глобальный или в внутрикорпоративный), что упрощает работу фронтендеров.

Например, почитайте тут:


Как построить REST-like API в крупном проекте
Разработка под e-commerce, Проектирование и рефакторинг, Программирование, API, Блог компании Яндекс.Деньги


1. Единообразие, унификация, стандартизация, минимизация ошибок из-за взимонепонимания - когда над проектом работает несколько человек.
2. Взаимодействие фронтендеров и бэкендеров.
3. Если над проектом работает один человек - не столь важно. Но когда проект здоровый и ты все помнить уже не можешь - помогает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы