Junior
Какво е REST?
sobes.tech AI
Отговор от AI
REST (Representational State Transfer) е архитектурен стил за изграждане на разпределени системи, който се използва главно при проектирането на уеб услуги. Той се основава на набор от принципи и ограничения, които определят как уеб ресурсите взаимодействат помежду си.
Ключови принципи на REST:
- Клиент-сървър: Ясно разделение на отговорностите между клиента и сървъра.
- Без състояние (stateless): Сървърът не съхранява информация за състоянието на клиента между заявките. Всяка заявка съдържа цялата необходима информация за обработка.
- Кешируемост: Клиентите могат да кешират отговорите на сървъра за подобряване на производителността. Сървърът ясно указва дали отговорът може да бъде кеширан.
- Слоеста система: Клиентът може да взаимодейства с междинен слой (например, прокси, балансировчик на натоварване), без да знае за това.
- Код по искане (по желание): Сървърът може да прехвърля изпълним код към клиента (например, JavaScript), разширявайки функционалността му.
- Единен интерфейс: Най-важният принцип, който включва следните ограничения:
- Идентификация на ресурсите (URI).
- Манипулация на ресурсите чрез представяния (обмен на данни в определен формат, например JSON, XML).
- Самоописващи се съобщения (съобщенията съдържат цялата необходима информация за тяхното разбиране).
- HATEOAS (Hypermedia като двигателя на състоянието на приложението): Клиентът преминава между състоянията на приложението, използвайки хипервръзки, съдържащи се в отговорите на сървъра.
RESTful API е реализация на REST стил за уеб услуги, използваща стандартните HTTP методи (GET, POST, PUT, DELETE) за работа с ресурсите.
// Пример за използване на HTTP методи в RESTful API
// Получаване на ресурс
// GET /api/products/1
// Създаване на ресурс
// POST /api/products
// Тяло: { "name": "Нов продукт", "price": 10.50 }
// Актуализиране на ресурс
// PUT /api/products/1
// Тяло: { "name": "Актуализиран продукт", "price": 11.00 }
// Изтриване на ресурс
// DELETE /api/products/1