OAS — самый важный инструмент для разработчиков API


Введение

Безопасность API — актуальная тема в наши дни, поскольку все больше компаний предоставляют миру свои данные и услуги через API. В результате становится все более важным иметь четкое и понятное определение вашего API, чтобы клиенты и разработчики знали, как его использовать.

Если у нас уже есть отличное определение для ресурсов нашего Web API, наши клиенты будут рады использовать его. Но как нам проинформировать их о наших конечных точках, моделях, ошибках сообщений и т.д.?

Один из способов сделать это — использовать спецификацию OpenAPI, которая является стандартом для определения REST API. Существуют сотни фантастических статей о RESTful API, поэтому в этой статье я не буду углубляться в эту тему.
Вместо этого в этой статье будут рассмотрены преимущества использования OpenAPI (ранее Swagger), включая возможность генерировать исходный код из вашего определения и распространять его среди ваших клиентов.

Почему это вообще полезно?

Если вы не поддерживаете живой API, то понять его ценность будет немного сложнее. Но помимо ценности того, что он может быть как человеко-, так и машиночитаемым, помогает ускорить вывод API на рынок, не зависит от языка и многое другое…

Простота использования

Когда кто-то впервые знакомится с OAS, он, вероятно, наткнется на их прекрасные онлайн-редакторы —

https://editor-next.swagger.io/,
https://editor.swagger.io/.

Но если у вас нет под рукой спецификации OAS, это уже может показаться утомительным. Не волнуйтесь, потому что почти каждый основной язык уже имеет генератор кода в OAS, вот некоторые из моих любимых примеров:

Python

Общими фреймворками для создания API на Python являются Django Rest Framework и Flask-RESTPLUS. Разработчики Django могут добавить модуль django-rest-swagger через pip, в то время как Flask-RESTPLUS имеет встроенную поддержку Swagger. Оба модуля очень мощные с точки зрения автоматизации, поэтому они не требуют большого количества настроек.

Javascript/Node

Приложения, созданные на Node, в основном используют Express или HAPI в качестве фреймворка. Для них доступны сторонние модули swagger-express и hapi-swagger.

Если вы предпочитаете работать в автономном режиме, для VS Code существует хорошее расширение для редактирования определения API под названием OpenAPI (Swagger) Editor (https://github.com/42Crunch/vscode-openapi).

Используя этот редактор, вы получите графический интерфейс для редактирования вашего файла OAS и сможете редактировать его в режиме реального времени.

Кроме того, используя команды VS, вы получите список команд, которые помогут вам добавить новые элементы в ваш OAS:

OAS и DevOps

На мой взгляд, самой важной особенностью OAS является безопасность, которую она может обеспечить. Создавая стандартную спецификацию API, которая является одновременно человеко- и машиночитаемой, вы открываете шлюзы (в хорошем смысле) для автоматизации безопасности API. И именно в этом заключается суть новой версии инструмента BLST с открытым исходным кодом. Инструменты BLST легко интегрируются в конвейеры CI, помогая гарантировать, что критические недостатки API не попадут в производственные среды.

Спасибо, что нашли время прочитать мою статью!
Если вы ищете любую информацию о том, чем мы занимаемся в BLST, посмотрите эти ссылки:

Посетите наш репозиторий на Github и присоединяйтесь к обсуждению на нашем канале Discord, чтобы помочь нам сделать BLST еще лучше!
Протестируйте свой API бесплатно прямо сейчас на BLST!

Оцените статью
devanswers.ru
Добавить комментарий