Sobes.tech
Junior — Middle

Можеш ли да обясниш основните принципи на архитектурата REST и как те се реализират при разработката на API?

sobes.tech AI

Отговор от AI

REST (Представителен Статус Пренос) е архитектурен стил за създаване на уеб услуги, базиран на редица принципи:

  • Клиент-сървър архитектура: клиентът и сървърът са разделени, което улеснява развитието и мащабирането.
  • Без състояние (stateless): всяка заявка от клиента към сървъра трябва да съдържа цялата необходима информация, сървърът не запазва състояние между заявките.
  • Кеширане: отговорите могат да бъдат кеширани за подобряване на производителността.
  • Единен интерфейс: използване на стандартни HTTP методи (GET, POST, PUT, DELETE) за операции с ресурси.
  • Идентификация на ресурси чрез URI: всеки ресурс има уникален адрес.
  • Многоуровнева система: архитектурата може да се състои от няколко нива, като проксита, шлюзи.

При разработка на REST API тези принципи се реализират по следния начин:

  • Ресурсите (например, потребители, продукти) се представят като URL адреси, например /users/123.
  • Използват се HTTP методи: GET за получаване, POST за създаване, PUT/PATCH за актуализиране, DELETE за изтриване.
  • Сървърът не запазва сесии, всички данни за обработка на заявката се предават в него.
  • Отговорите могат да съдържат заглавки за кеширане.
  • Форматите на данните обикновено са JSON или XML.

Пример за заявка за получаване на потребител:

GET /users/123 HTTP/1.1
Host: example.com
Accept: application/json

Отговор:

{
  "id": 123,
  "name": "Ivan Ivanov"
}