Почивай API за уеб услуги
Чрез създаването на уеб услуга, трябва да се помисли много както от бизнес, така и за развитие на страните. Клиент очертава изисквания - развитие на екипа, за да ги изпълни. На свой ред, в зависимост от изискванията и целите, вече в началото на проекта е необходимо да се дефинира архитектурата, тъй като това определя как продуктът ще работи, след освобождаването им. Днес ние ще говорим за един от най-популярните от тях - останалото.
Какво е REST?
Представителни Държавен трансфер (състояние трансфер контрол) - архитектурен стил, който се използва в разработването на уеб услуги, както и за създаване 6 от правилата за тяхното изграждане. Отговарящи на правилата, уеб услугата, наречена спокоен услуги. В допълнение, REST също изисква използването на по-голямата част протокола за възможностите за HTTP.
Така че, какви са правилата?
- Единен интерфейс - един общ интерфейс
- Без гражданство - липсата на държавна
- С възможност за кеширане - кеширане
- Клиент-сървър - разграничени клиент-сървър архитектура
- Layered System - система на няколко нива
- Код за поръчка - код по заявка
Нека поговорим за всеки от тях по-подробно.
Един единствен интерфейс
REST архитектура включва идентифициране единен интерфейс взаимодействие на всички клиенти на сървъра.
При използване на REST, клиентът работи със сървъра за получаване на ресурси и управлението им. Ресурси в този подход може да бъде, например, в таблица на база данни, въпреки че не винаги е възможно, тъй като заявките може да бъде доста сложна логика на взаимодействие с ресурси.
- Форматът за събиране на елементи: / сгради
- Форматът за елемента от номер: / сгради /
Информация, предадена между клиента и сървъра, трябва да се превърне в удобен формат за предаване. Примери за такива формати могат да бъдат или JSON или XML, въпреки че все още е най-популярната в момента е само JSON. Въпреки това, някои уеб услуги са в състояние да поддържа множество формати едновременно. В този случай, на формата на върнати сървър на данни и данни за формата, че сървърът трябва да обработва, контролирана от заглавията на HTTP Приемам и Content-Type. Заглавията могат да бъдат прехвърлени на различни видове. Например: прилагане / JSON или прилагане / XML.
Липсата на държавна
Всяко искане във RESTful услуги трябва еднозначно да идентифицира ресурса или ресурси, както и да работи с пълните си държави. ПОЧИВКА уеб услуги не съхраняват всички данни в заявките сесии или бисквити.
кеширане
Клиентите трябва да могат да кешира запитвания. По този начин, отговорите явно или неявно се самоопределят като кеширани или не, така че клиентите не могат да използват остаряла или неточна информация в отговор на по-нататъшно разследване. Правилно проектирани кеширане да се намали натоварването на сървъра и да се увеличи скоростта на приложението на клиента, който насърчава по-голяма мащабируемост и производителност.
Клиент-сървър
Интерфейсът, който реализира взаимодействието между клиенти и сървъри трябва ясно да се разделят функциите на клиенти и сървъри, и по този начин следва да се прилага независимо от изпълнението на всяка от тях. Например:
- клиентите не трябва представа за съхранените данни на сървъра, тъй като този сървър сфера на отговорност.
- Сървърът не трябва да се развива във връзка с потребителския интерфейс на всеки клиент.
Layered система
Системата може да има междинен сървър и клиент не може да знае точно за какво е той взаимодейства сървър. Междинният сървър може да действа като разпределение на натоварването, заявки кеша и т.н.
Код по поръчка
Защо останалите?
Въпреки факта, REST е подходящ за всички проекти, които работят по HTTP, понякога прилагането му може да не е възможно поради липса на уменията на екипа. Въпреки това, ако майстор почивка по подходящ начин, разработчиците предлагат много предимства:
- Подобрена производителност. ПОЧИВКА връща само данните, посочени в искането. По този начин бързо да се издават обработва заявки и отговори.
- Скалируемост. Приложението може да работи на множество сървъри, които позволяват да се балансира натоварването между тях. Също така, услугата може да бъде разделен на няколко "mikroservisov", която може да работи в паралел.
- Преносимост чрез единен интерфейс
- Прозрачност взаимодействие - благодарение на своята стандартизация API остава разбираем за потребителя начин.
- Лекотата на модификация. Благодарение на по-малка свързаност кода, който намалява вероятността "фалит" искания, когато се правят промени и в други части на заявлението.
методи на HTTP
Http съдържа 4 методи: GET, POST, PUT, изтриване. Всеки метод трябва да се използва за различни цели и определяне на функционалността, която реализира искането.
- GET. Използва се за получаване на ресурси (списъкът ресурс или ресурс, посочват номера му)
- POST. използва за създаване на ресурс
- СЛОЖИ. Iispolzuetsya за актуализиране на ресурса чрез идентификационен номер, който се предава в URL адреса
- Изтриете. Използва се за изтриване на ресурси чрез идентификационен номер, който се предава в URL адреса
По-долу, ние имаме една маса soderzhaschuya възможни искания за потенциални хора ресурси. В него се използват всички възможни методи и HTTP-отговорите на тези въпроси могат да се върнат.
кодове за състоянието Http
При използване на останалата уеб услуги трябва да изберете статута полето HTTP за sootvetsvuyushih отговорите от сървъра. Сам по себе си той има няколко кодове за състоянието дузина HTTP, но ние даваме 10-те най-често се използват:
кодове за състоянието Http са голям брой кодове за обработка на грешки, но тези кодове не е достатъчно за всяко приложение. В такива случаи, тялото на отговор може да включва съобщение обяснява грешката по-подробно (използвайки JSON, XML и т.н.). Клиентите, които вече знаят за кода, да могат правилно да се справя.
допълнително
- Заявки, които се връщат колекция от предмети, трябва да могат да страниране, сортиране, филтриране,
- Датата и часът на заявки трябва да бъдат изпратени във формат на UNIX клеймото в милисекунди.
- Версия на приложението, трябва да бъде пришита в URL адреса на заявлението като възел. Например: api.app.com/v1/buildings
Ако имате някакви въпроси, можете да се свържете с нас за да получите професионална техническа консултация. Ние ще се радваме да ви помогне с осъществяването на някоя от вашите идеи!