rest api tutorial rest api architecture
V tomto výukovém programu se dozvíme o REST API, webových službách, architektuře REST API, omezeních REST API a o tom, jak otestovat API pomocí POSTMANU:
Předpoklady: Základní znalost webových služeb.
Šek tady abyste získali jasnou představu o webových službách.
Co se naučíte:
Co je REST API?
API je jednoduše rozhraní, které softwarové komponenty používají ke vzájemné komunikaci. Služba je funkce, která je dobře definovaná, samostatná a nezávisí na žádné jiné službě.
Webová služba je typ API, téměř všechny fungují přes HTTP. Když je webové rozhraní API vyvinuto pomocí architektury REST, pak se nazývá webové rozhraní REST.
Od této chvíle existují dva typy webových služeb,
- MÝDLO
- ODPOČINEK
Rozdíl mezi mýdlem a odpočinkem
MÝDLO | ODPOČINEK |
---|---|
K odesílání dat v těle požadavku můžeme použít pouze formát XML | Pro odeslání požadavku můžeme mít formát XML, JSON atd. |
Je to protokol | Jedná se o styl architektury a nezávisle na jakémkoli protokolu může REST používat webové služby SOAP |
Je zkratkou pro Simple Object Access Protocol | Zkratka znamená Reprezentativní přenos státu |
Využívá servisní rozhraní k odhalení obchodní logiky. | Používá URI k odhalení obchodní logiky. |
SOAP má přísný standard, který je třeba dodržovat. | Není zde zmíněn žádný takový přísný standard, kterým by se měl řídit REST. Uživatel však může při vývoji webové služby pomocí REST postupovat podle několika standardů. |
Vyžaduje větší šířku pásma. | Je lehký. |
Může definovat vlastní zabezpečení. | REST zdědí bezpečnostní opatření z transportu. |
Nejlepším příkladem je Google, AMAZON | Nejlepší příklad je YAHOO, LINKEDIN, AMAZON |
SOAP používá protokol HTTP, SMTP atd | REST spoléhat pouze na HTTP. |
Pravidla pro vázání zpráv, operací atd. Jsou napsána ve WSDL | REST sleduje formát WADL pro popis funkcí nabízených webovými službami |
Je standardizovaný. | Služby REST jsou nestandardizované. |
Vyžaduje více času na učení kvůli jeho stávajícím pravidlům, závaznosti atd. | Vyžaduje to méně času na učení kvůli jeho jednoduchosti. |
Proč zvolit REST přes SOAP?
Níže jsou vysvětleny důvody, proč se rozhodnout pro REST přes SOAP.
- Je to velmi dobré pro vývoj a testování webových API.
- REST vyžaduje menší šířku pásma.
- Můžeme použít AJAX pro webová rozhraní API založená na REST.
- Vyžaduje to menší analýzu nad hlavou.
- Velikost užitečného zatížení vytvořená JSONem má menší velikost.
Na webu je k dispozici mnoho klientů / nástrojů, což nám umožňuje využívat služby RESTful Web.
Oni jsou:
- Listonoš
- Advanced Rest Client
- Klient DHC Rest
- Žadatel
- Nespavost
- Přisuzovatelný
- Plakát
Proč pošťák?
- Zobrazuje všechny dostupné možnosti.
- Pošťák má další funkci (známou jako Runner).
- Uživatelsky přívětivé uživatelské rozhraní a snadné použití.
- Větší komunitní skupina / členové.
Architektura REST API
Jedná se hlavně o architekturu webu v softwarovém architektonickém stylu. Je určen pro distribuované hypermediální systémy. Rozhraní RESTful API přímo využívá výhod metodik HTTP definovaných protokolem RFC 2616.
Několik definic
OHEŇ znamená Application Programming Interface. Jedná se o sadu definic podprogramů, protokolů a nástrojů pro vytváření aplikačního softwaru.
Webové služby jsou některé programové kódy, které obsahují data / vestavěné metody. Ty jsou nasazeny organizací přes internet ke komunikaci s uživateli, aplikacemi třetích stran atd. Pro komunikaci se zprávami se jako systém zasílání zpráv používá většinou XML. XML jednoduše kóduje veškerou komunikaci mezi uživateli a aplikacemi.
HTTP znamená Hypertext Transfer Protocol, používaný World Wide Web. Definuje, jak jsou zprávy formátovány a přenášeny a jaké akce provádějí webové servery a prohlížeče v reakci na různé příkazy.
Architektonický styl, Vyznačují se vlastnostmi, které se používají k vytvoření struktury a dokonce k jejímu vytvoření. Styly jsou dvou typů: vrstvené a jednotné rozhraní.
NENÁVIST : Také známý jako jednotný identifikátor zdroje. Identifikuje zdroj (textový dokument, obrazový soubor atd.).
URL: Také známý jako Uniform Resource Locator. Jedná se o podmnožinu URI, která zahrnuje umístění v síti.
URNA : Také známá jako Uniform Resource Name je podmnožina identifikátorů URI, které obsahují název v daném prostoru, ale žádné umístění.
Například,
http://elearning.com/amazon/restapi.html#books
Tady ve výše uvedeném příkladu
NENÁVIST : http://elearning.com/amazon/restapi.html#posts
URL : http://elearning.com/amazon/restapi.html
URNA : elearning.com/amazon/restapi.html#posts
je bezpečnostní klíč stejný jako heslo
Proto je URL URI, který identifikuje zdroj a také poskytuje prostředky k lokalizaci zdroje popisem způsobu přístupu k němu.
Takže každá adresa URL může být URI, ale opak není pravdivý.
Služba RESTful je vystavena prostřednictvím Uniform Resource Locator (URL). Toto je logický název, který odděluje identitu prostředku od toho, co je přijato nebo vráceno.
Ukázková architektura REST:
Omezení REST API
O rozhraní API se říká, že je RESTful, pokud splňuje následující omezení:
- Jednotné rozhraní: To znamená, bez ohledu na jakéhokoli klienta, kterého používáme, základní koncept implementace a používání služeb REST zůstane stejný. Všechna vyvinutá rozhraní REST API by měla mít společný přístup k vývoji.
- Bez státní příslušnosti: To znamená, že nelze uložit žádnou relaci. Server tedy nebude ukládat žádné požadavky HTTP odeslané klientem. Pro server je tedy každý požadavek HTTP nový požadavek. Nezáleží na tom, kolikrát je vznesen požadavek nebo zákazník je jedinečný nebo ne.
- Mezipaměť: Ukládání do mezipaměti znamená, jak často se k datům a odpovědím přistupuje z mezipaměti místo ze serveru. Koncept ukládání do mezipaměti je použitelný při odesílání požadavku klienta. Zlepšení výkonu se tedy provádí na straně klienta.
- Klient-server: Server a klienti jsou z hlediska implementace navzájem nezávislí. Klient potřebuje pouze odeslat identifikátor URI požadavku spolu s ověřením nebo bez něj. Poté server provede zbytek kroku, což je odpověď.
- Vrstvený systém: Klient může odeslat pouze požadavek na server jako identifikátor URI prostředku. Ale pak před odesláním požadavku na server existuje REST API, které nám poskytuje architekturu vrstveného systému. To znamená, že můžeme mít API nasazené na jednom serveru, data jsou nasazena na jiném serveru a ověřování na jiném serveru.
- Kód na vyžádání (volitelně): Někdy může klient potřebovat víc než jen odpověď. Rozhraní REST API nám umožňuje odeslat spustitelný kód jako odpověď (tímto spustitelným kódem může být widget nebo jakýkoli ovládací prvek). Je však zcela volitelné, zda jsme tuto funkci povolili / implementovali.
Několik dalších terminologií souvisejících s Rest API:
Koncový bod : Jedná se o odkaz na adresu URL, která přijímá webové požadavky. Webová služba je adresovatelná pomocí odkazu na koncový bod.
Například, Http: // {Domain_URL} //librarygr/libraries.xml
Zdroje : Je to podmnožina koncového bodu. Koncové body obvykle vystavují některé objekty, které lze využívat prostřednictvím webových služeb. Prostředky jsou konkrétně ta část objektu přes identifikátor URI koncového bodu.
Například, Http: // {Domain_URL} // api / pg_library / ornithology / swan
Užitečné zatížení : Užitečné zatížení je informace, která je odeslána při provádění operace POST nebo PUT. Jedná se o informace uvedené v těle požadavku HTTP.
Užitečné zatížení se odesílá ve formátu JSON, Například,
{ Id: 1, name:'sam', phones:({title:'mobile',number:9898989899}, {title:'home',number:8888888888}) }
Parametry :
Parametry můžeme předat dvěma způsoby.
Parametry dotazu : Užitečné pro přístup k párům klíč / hodnota v řetězci dotazu adresy URL (část za?)
Nejlepší příklad
otázky pl rozhovoru založeného na scénáři pl sql
http://jsonplaceholder.typicode.com/posts/?id=3
Parametry cesty: Je užitečné přiřadit část adresy URL jako parametr. Informace můžeme poslat jako parametr cesty následujícím způsobem: Form-data, x-www-form-urlencoded, raw, binary.
Nejlepší příklad:
https://api.github.com/gists/49b05378bb8920d5b4ec54efc27103e2/comments
Co je POSTMAN?
POSTMAN je klient REST, jednoduše aplikace dodávaná s prohlížečem Chrome. Vyvíjí se s ohledem na vývojáře, aby se usnadnilo testování volání API. Má vlastní grafické uživatelské rozhraní pro odesílání požadavků API a čtení odpovědí API.
Můžeme provádět testování REST API jak ručně, tak automatizací.
V následující části se naučíme, jak ručně otestovat webové API pomocí klienta POSTMAN.
Jak otestovat API s Postmanem?
Instalace
Musíme přistupovat k Internetový obchod Chrome . V prohlížeči Chrome vyhledejte Postmana. Klepněte na tady přidat do tlačítka Chrome.
Po úspěšné instalaci najdeme POSTMANA v aplikaci Chrome. Stačí kliknout na ikonu Postman a otevřete POSTMANA. První spuštění bude nějakou dobu trvat.
Chcete-li pochopit, jak používat, podívejte se na následující adresu URL LISTONOŠ jako nástroj.
Předpoklady: Pro přístup ke službám nasazeným přes web je vyžadováno připojení k internetu. V případě přístupu k místně nasazeným službám se ujistěte, že máte dostatečná práva, oprávnění, která jsou udělena uživateli, který provádí test přes POSTMAN.
Fiktivní URI zdroje: V tomto kurzu použijeme fiktivní URI místo skutečného URI. Dá nám požadované odpovědi, ale na serveru nelze provést změny.
http://jsonplaceholder.typicode.com
Navigační kroky :
# 1) Po spuštění aplikace POSTMAN se ve výchozím nastavení zobrazí stránka Žádost.
#dva) Seznam volání API zobrazíme kliknutím na rozevírací nabídku. Výběrem kterékoli z možností z rozevíracího seznamu můžeme požádat o volání API na server.
# 3) Klikněte na tlačítko Proměnná prostředí v pravém horním rohu POSTMANA. Nastavte konkrétní prostředí, kde budeme testovat. Můžeme si to uložit pro budoucí provedení.
# 4) Uložené prostředí je přístupné z rozevíracího seznamu Prostředí.
# 5) Dále musíme v daném poli nastavit URI zdroje.
# 6) Kliknutím na tlačítko Params vedle pole URI zdroje zadejte parametry dotazu
# 7) Klikněte na kartu Autorizace, v rozevíracím seznamu vyberte typ autorizace a nastavte libovolnou požadovanou autorizaci, nebo ji můžete jednoduše ponechat jako Bez autorizace.
# 8) Klikněte na kartu Záhlaví a nastavte požadovaná záhlaví, jako je typ obsahu
# 9) Klikněte na kartu Tělo a vyberte přepínač formulářových dat. Zadejte požadované parametry těla, které je třeba odeslat spolu s adresou URL požadavku
příklad hash tabulky c ++
# 10) Klikněte na kartu Tělo a vyberte přepínač x-www-form-urlencoded. Zadejte požadované parametry těla, které je třeba odeslat jako kódované, spolu s adresou URL požadavku
#jedenáct) Klikněte na kartu Tělo a vyberte přepínač „raw“. Zadejte požadované parametry těla, které je třeba odeslat spolu s adresou URL požadavku. Toto je ve skutečném formátu JSON
# 12) Klikněte na kartu Tělo a vyberte přepínač „binární“. Zadejte požadované parametry těla (obvykle jako soubor), které je třeba odeslat spolu s adresou URL požadavku.
# 13) Jakmile nakonfigurujeme všechny podrobnosti, jak je uvedeno výše, můžeme nyní požadavek „odeslat“. Můžeme také uložit požadavek na odeslání jako request.json (můžeme změnit název požadavku).
# 14) Seznam provedených žádostí vidíme na levém bočním panelu na kartě Historie.
#patnáct) Můžeme také uložit všechny podrobnosti týkající se požadavku (URI, autorizace, parametry, tělo atd.) Pod existující kolekcí nebo novou kolekcí. Jakmile je požadavek přidán do sbírky, můžeme ji exportovat (sdílet) a dokonce můžeme importovat jakoukoli existující sbírku.
Sbírku můžeme sdílet jako odkaz nebo jako týmovou knihovnu jednoduchým generovaným kódem. Vždy můžeme spustit celou kolekci Suite.
I my můžeme publikovat adresu URL kolekce na web, aby kdokoli, kdo přistupuje k publikované adrese URL, měl přístup do kolekce a využívat služby poskytované webovým API.
Existuje funkce pro přihlášení k POSTMANU, která nám umožňuje ukládat historii, sbírky, data o životním prostředí, místní úložiště, abychom je mohli ukládat a mít k nim přístup kdekoli a kdykoli po přihlášení do POSTMANU.
Běžec
Používá se ke spuštění prostředků ve složce Collections.
Závěr
Většina společností zavádí architektonický styl REST pro vývoj / implementaci webových služeb, protože se jedná o jednoduché a uživatelsky přívětivé rozhraní, které vyžaduje méně školení pro stávající / nové členy projektu. Organizace uvažují o REST spolu se svými stávajícími webovými službami.
Přečtěte si také = >> Výukový program Flask API
V dalším kurzu této řady REST API budeme diskutovat o různých typech kódů odpovědí, typech požadavků REST atd.
Doporučené čtení
- Kódy odezvy REST API a typy žádostí o odpočinek
- Výukový program POSTMAN: Testování API pomocí POSTMANU
- Testování REST API s okurkou pomocí přístupu BDD
- 10 nejlepších nástrojů pro testování API v roce 2021 (nástroje pro testování API SOAP a REST)
- Testování REST API s Spring RestTemplate a TestNG
- Jak automatizovat požadavky API pomocí klidného a Jenkinse
- Jak vytvořit projekt REST v SoapUI Pro: Výukový program č. 13
- Výukový program Parasoft SOAtest: Nástroj pro testování API bez skriptů