Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

API

Термины

API - Application Programming Interface, что значит программный интерфейс приложения

  • «приложение» относится к любому ПО с определенной функцией
  • Интерфейс можно рассматривать как сервисный контракт между двумя приложениями. Этот контракт определяет, как они взаимодействуют друг с другом, используя запросы и ответы
  • Документация API содержит информацию о том, как разработчики должны структурировать эти запросы и ответы.

Виды API

API protocols

Alt text

Patterns

SLI, SLA

Versioning

  • Необходимо для поддержки Обратной совместимости — это свойство всей системы API быть стабильной во времени. Это значит следующее: код, написанный разработчиками с использованием вашего API, продолжает работать функционально корректно в течение длительного времени.
  • Варианты
  • SemVer
    • Первая цифра (мажорная версия) увеличивается при обратно несовместимых изменениях в API
    • Вторая цифра (минорная версия) увеличивается при добавлении новой функциональности с сохранением обратной совместимости
    • Третья цифра (патч) увеличивается при выпуске новых версий, содержащих только исправление ошибок
  • Then you can decide between implementing both versions of the service simultaneously within the same service instance, or deploying different instances that each handle a version of the API.
  • A good approach for this is the Mediator pattern (for example, MediatR library) to decouple the different implementation versions into independent handlers.

Security

Документирование

API management

API management

Технологии

G2 Top tools