Какво е RESTful API

И така, какво е REST API?

"То API, който използва HTTP заявки за

ВЗЕМЕТЕ, ПОСТАВЕТЕ, ПОСТ и ИЗТРИЙ ".

Мнозина също ще кажат:

„Става въпрос за идентифициране на ресурси, използващи URI“

Други ще викат:

„Забравихте връзки, те трябва да използват хипервръзки!“

В заключение можем да кажем:

„По принцип е просто API, който използва HTTP правилно!"

Някои от тези твърдения са погрешни,

Някои са частично верни,

но няма значение,

Защото те всички пропускат смисъла.

За да можете да разработите RESTful API,

Първо, трябва да разберем REST!

Какво е ПОЧИВКА?

Какво е ПОЧИВКА?

Определено не е HTTP

Ето защо има толкова много противоречия около REST API.

REST е стил на архитектурата.

Ами добре ... но какво е архитектурен стил?

Архитектурен стил

клиент сървър

Това е просто архитектура, плюс набор от ограничения, приложени към архитектурата, която създава желаната архитектура.

Прилагайки тези ограничения, ние получаваме желаната архитектура, оптимизирана за общи случаи.

REST означава представяне на състоянието на трансфер

Това е записано от Рой Филдинг в неговата докторска дисертация през 2000 г., където той описва съществуващата и модерна уеб архитектура като абстракция.

Заглавието имаше за цел да накара идея за това как се държи добре проектираното уеб приложение.

Рой описа REST с прост пример:

Разгледайте мрежата от уеб страници като виртуална автомат на състоянието.

Всяка страница представлява състояние:

може бъде

1. Първо, потребителят получава първото състояние като състояние на индекс.

3. Резултат от прехвърляне на следващото състояние на потребителя.

REST все още не е HTTP

Разбира се, през 2000 г. мрежата вече работеше на HTTP и Рой и колегите му инженери работиха много по това.

REST обаче не дефинира конкретни подробности за внедряване на системата и не дефинира никакъв синтаксис на протокола.

Напълно възможно е да имате RESTful архитектура върху протоколи, които не са HTTP.

Например CoAP (Restricted Application Protocol) е RESTful протокол за вградени устройства (Internet of Things) и е проектиран да използва минимални ресурси както на устройството, така и в мрежата.

Така че защо да използвате REST?

World Wide Web се ​​основава на REST архитектура.

Така че, ако създадете не-RESTful API, който ще се използва в мрежата, тогава ще получите неоптимална система. Не е оптимално по отношение на оптимизирана архитектура.