Sobes.tech
Junior

Кои API могат да се нарекат RESTful?

sobes.tech AI

Отговор от AI

RESTful API спазват принципите на архитектурния стил REST:

  • Клиент-сървър: Разделяне на отговорностите между клиента, който иска ресурси, и сървъра, който ги предоставя.
  • Без състояние (Stateless): Всяка заявка от клиента към сървъра трябва да съдържа цялата необходима информация за обработка. Сървърът не запазва състоянието на сесията на клиента.
  • Кешируемо: Сървърът трябва ясно или косвено да указва дали отговорите могат да бъдат кеширани от клиента или междинните системи.
  • Система на слоеве: Клиентът не може да различи между директно извикване към сървъра и извикване чрез междинни слоеве (прокси, балансери и т.н.).
  • Код по заявка (по избор): Сървърът може временно да разшири функционалността на клиента, като предава изпълним код (например JavaScript).
  • Общ интерфейс: Най-важният принцип на RESTful API. Състои се от четири ограничения:
    • Идентификация на ресурси: Ресурсите се идентифицират чрез URL.
    • Манипулиране на ресурси чрез представяния: Клиентът взаимодейства с ресурсите, получавайки техните представяния (например, във формат JSON, XML).
    • Самоописващи се съобщения: Всяко съобщение съдържа достатъчно информация за обработка, включително метаданни за това как да се обработи съобщението и ресурсът.
    • HATEOAS (Hypermedia as the Engine of Application State): Сървърът трябва да съдържа хипервръзки в отговорите си, които позволяват на клиента да открие наличните действия и да преминава между състоянията на приложението. Това е най-рядко изпълняваният принцип.

RESTful API използват стандартните HTTP методи (GET, POST, PUT, DELETE, PATCH) за операции върху ресурси, идентифицирани чрез URI.

Например, GET заявка към /api/users/123 получава представяне на потребителя с ID 123.