Какво е REST API? Казва ли нещо да спре или да спре? API на RESTful е мързелива програма или тази, която инициира състояние на покой? Ако въобще се интересувате от мрежата и как работят различните технологии зад нея, ще искате да знаете за RESTful API.
API е интерфейс за програмиране на приложения. API може да бъде много неща за много програмисти, но по същество това е посредник, който ви позволява да включите една програма в друга. Много програмисти и разработчици ще скрият основния си код, за да не позволят на другите да откраднат цялата им упорита работа. Ако искат други програми да работят с тяхната програма, те също трябва да предоставят някакъв код на разположение, за да позволят това взаимодействие. Оттук идват API-тата. Разработчикът може да създава API, които позволяват на други програми да взаимодействат с тяхното създаване и да предоставят допълнителни функции и взаимодействия.
API ще бъде написан с определена структура, форматирана по определен начин, който ресурсът може да разбере и който не използва твърде много ресурси. Много уебсайтове, програми и платформи използват API. Facebook ги има, YouTube ги използва, Google Maps ги има, Android и iOS ги използват, а най-забележимият софтуер ще има някакъв интерфейс за програмиране. Това е добър начин за добавяне на стойност и функции, без да показвате на света как вашата програма е събрана.
Как се използват API?
Например, кажете, че сте искали да създадете набор от филтри за камера за телефон. Вместо да създавате свое собствено приложение за камера, бихте използвали API на камерата на Apple или Android за използване на камерата. Алтернативата ще бъде да се създаде изцяло нов софтуер за камера за всяка ОС на телефона, което е много работа. Вместо това просто трябва да създадете API, който да комуникира със съществуващия софтуер на камерата и да изпращате вашите филтърни данни от и от него.
API-ите могат също да се използват за достъп до системни ресурси, интерфейс с други системи, предоставяне на функции за добавяне на стойност на браузърите и всички тези добри неща. Ако просто си спомняте, че API е част от кода, който говори с други програми, трябва да сте добре.
Друг пример са Google Maps. Ако искате да добавите карта на Google към уебсайта си, показващ вашето местоположение, настроите API на Google Maps с HTTP GET заявка, за да изтеглите картата от Google. По този начин получавате това, което искате, без Google да прави нещо или да разрешава достъп до вътрешността на своята картографска платформа.
Използвайки API, сървърите на Google Maps могат да задоволят милиони заявки за кратък период от време, без да претоварват сървъра с карти. API заявките ще бъдат правилно структурирани така, че да могат да бъдат удовлетворени с помощта на най-малко ресурси. API RESTful гарантира, че нищо не може да бъде записано в базата данни и не оставя следа, оставяйки сървъра на картата да премине към следващата заявка.
RESTful API
REST означава "Представяне на държавен трансфер". RESTful API се използва за прехвърляне на данни от един ресурс към клиент. Като пример, търсачката използва тип RESTful API. Въвеждате дума за търсене и двигателят пита сървърите. Сервира прехвърля съотносимите данни във вашия браузър, който да използвате. Ето как работи RESTful API.
Вече знаете, че API позволява на външни програми да взаимодействат с определени други програми. A RESTful API позволява на независима програма да комуникира с напълно отделна база данни, като в примера на търсачката по-горе.
Това, което прави работата на RESTful API е, че е без гражданство и кеширане. Без гражданство означава, че заявката, направена от RESTful API, не оказва влияние върху базата данни. Заявката не е (винаги) регистрирана, нищо не се съхранява в базата данни и не може да пише в базата данни. По същество е само за четене.
Това, че е кешируемо, означава, че клиентът на API може да съхранява информацията за бъдеща употреба, така че не е необходимо да запитва базата данни всеки път.
В мрежата API вероятно ще използва метода HTTP за обработка на заявка. Общите HTTP методи са GET, POST, PUT и DELETE. В примера на търсещата машина, API RESTful би използвал HTTP метод, за да получи данните от вашите заявки за търсене от базата данни на търсачката, за да покаже резултатите от търсенето.
Друг пример е търсенето на потребител в Twitter. Ако поставите URL адреса www.twitter.com/realDonaldTrump в браузър, браузърът ще използва HTTP за получаване на данните на Доналд Тръмп от Twitter и ще ви го покаже. Тъй като потребителските имена в Twitter са уникални, заявката ще върне подробностите във вашия браузър.
API на RESTful е доста елегантен начин за споделяне на информация, без да се отразява на производителността на сървъра или да се отдава твърде много. Този урок просто надрасква повърхността на начина, по който работят и се интегрира в мрежата, но трябва да ви даде основна представа какво се случва.
