Kurz RESTful Web Services: Co je REST API s příkladem

Co je to Restful Web Services?

Poklidné webové služby je lehká, udržovatelná a škálovatelná služba, která je postavena na architektuře REST. Restful Web Service, zpřístupněte API z vaší aplikace volajícímu klientovi bezpečným, jednotným a bezstavovým způsobem. Volající klient může provádět předdefinované operace pomocí služby Restful. Základní protokol pro REST je HTTP. REST je zkratka pro REpresentational State Transfer.

Klíčové prvky RESTful

Webové služby REST ušly od svého vzniku opravdu dlouhou cestu. V roce 2002 webové konsorcium vydalo definici webových služeb WSDL a SOAP. To vytvořilo standard implementace webových služeb.

V roce 2004 webové konsorcium také vydalo definici dalšího standardu nazvaného RESTful. Za posledních pár let se tento standard stal velmi populárním. A je používán mnoha populárními webovými stránkami po celém světě, mezi které patří Facebook a Twitter.

REST je způsob přístupu ke zdrojům, které leží v konkrétním prostředí. Můžete mít například server, který by mohl hostovat důležité dokumenty nebo obrázky nebo videa. To vše je příkladem zdrojů. Pokud klient, řekněme, webový prohlížeč potřebuje některý z těchto zdrojů, musí serveru odeslat požadavek na přístup k těmto zdrojům. Služby REST nyní definují způsob, jak lze k těmto zdrojům přistupovat.

Klíčové prvky implementace RESTful jsou následující:

  1. Zdroje – Prvním klíčovým prvkem je samotný zdroj. Předpokládejme, že webová aplikace na serveru má záznamy o několika zaměstnancích. Předpokládejme, že adresa URL webové aplikace je https://demo.guru99.com. Chcete-li nyní získat přístup ke zdroji záznamů zaměstnanců prostřednictvím služeb REST, můžete zadat příkaz https://demo.guru99.com/employee/1 – Tento příkaz říká webovému serveru, aby poskytl podrobnosti o zaměstnanci, jehož číslo zaměstnance je 1.
  2. Slovesa žádosti – Popisují, co chcete se zdrojem dělat. Prohlížeč vydá sloveso GET, aby dal pokyn koncovému bodu, který chce získat data. Existuje však mnoho dalších dostupných sloves, včetně věcí jako POST, PUT a DELETE. Tedy v případě příkladu https://demo.guru99.com/employee/1 , webový prohlížeč ve skutečnosti vydává sloveso GET, protože chce získat podrobnosti o záznamu zaměstnance.
  3. Vyžádejte si záhlaví – Toto jsou další pokyny zaslané s žádostí. Ty mohou definovat typ požadované odpovědi nebo podrobnosti autorizace.
  4. Tělo žádosti – Data jsou odeslána s požadavkem. Data jsou normálně odeslána v požadavku, když je vytvořen požadavek POST na webové služby REST. Ve volání POST klient ve skutečnosti říká webovým službám REST, že chce přidat zdroj na server. Tělo požadavku by tedy mělo obsahovat podrobnosti o zdroji, který je třeba přidat na server.
  5. Response Body – Toto je hlavní část odpovědi. Takže v našem příkladu RESTful API, pokud bychom se dotazovali na webový server prostřednictvím požadavku https://demo.guru99.com/employee/1 , může webový server vrátit dokument XML se všemi podrobnostmi o zaměstnanci v těle odpovědi.
  6. Stavové kódy odezvy – Tyto kódy jsou obecné kódy, které se vracejí spolu s odpovědí z webového serveru. Příkladem je kód 200, který je normálně vrácen, pokud nedojde k chybě při vracení odpovědi klientovi.

Uklidňující metody

Níže uvedený diagram ukazuje většinou všechna slovesa (POST, GET, PUT a DELETE) a příklad REST API toho, co by znamenala.

Předpokládejme, že v místě je definována webová služba RESTful. https://demo.guru99.com/employee . Když klient zadá jakýkoli požadavek na tuto webovou službu, může zadat libovolné z běžných HTTP sloves GET, POST, DELETE a PUT. Níže je uvedeno, co by se stalo, kdyby příslušná slovesa byla odeslána klientem.

  1. POST – Slouží k vytvoření nového zaměstnance pomocí webové služby RESTful
  2. GET – Toto by se použilo k získání seznamu všech zaměstnanců používajících webovou službu RESTful
  3. PUT – Toto by se použilo k aktualizaci všech zaměstnanců používajících webovou službu RESTful
  4. DELETE – Toto by se použilo k odstranění všech zaměstnanců využívajících služby RESTful

Podívejme se na to z perspektivy pouhého jediného záznamu. Řekněme, že existoval záznam zaměstnance s číslem zaměstnance 1.

Následující akce by měly svůj vlastní význam.

  1. POST – Toto by nebylo použitelné, protože načítáme data zaměstnance 1, která jsou již vytvořena.
  2. GET – Toto by se použilo k získání podrobností o zaměstnanci s číslem zaměstnance 1 pomocí webové služby RESTful
  3. PUT – Toto by se použilo k aktualizaci údajů o zaměstnanci s číslem zaměstnance 1 pomocí webové služby RESTful
  4. DELETE – Slouží k vymazání údajů o zaměstnanci s číslem zaměstnance 1

Uklidňující metody

Proč Restful

Restful většinou získal popularitu z následujících důvodů:

1. Heterogenní jazyky a prostředí – Toto je jeden ze základních důvodů, který je stejný, jak jsme viděli MÝDLO stejně.

  • Umožňuje vzájemnou komunikaci webových aplikací, které jsou postaveny na různých programovacích jazycích
  • S pomocí služeb Restful mohou tyto webové aplikace sídlit v různých prostředích, některá mohou být zapnutá Windowsa další mohou být na Linuxu.

Ale nakonec, bez ohledu na to, jaké je prostředí, konečný výsledek by měl být vždy stejný, že by měli být schopni spolu mluvit. Poklidné webové služby nabízejí tuto flexibilitu aplikacím postaveným na různých programovacích jazycích a platformách, aby spolu mohly komunikovat.

Níže uvedený obrázek ukazuje příklad webové aplikace, která vyžaduje komunikaci s jinými aplikacemi, jako je Facebook, Twitter a Google.

Pokud by tedy klientská aplikace musela pracovat se stránkami jako Facebook, Twitter atd., pravděpodobně by museli vědět, na jakém jazyce jsou Facebook, Google a Twitter postaveny, a také na jaké platformě jsou postaveny.

Na základě toho můžeme napsat kód rozhraní pro naši webovou aplikaci, ale to by se mohlo ukázat jako noční můra.

Facebook, Twitter a Google vystavují své funkce ve formě webových služeb Restful. To umožňuje libovolné klientské aplikaci volat tyto webové služby přes REST.

Need Restful

2. Událost Zařízení – V dnešní době je potřeba na všem pracovat Mobilní aplikace zařízení, ať už jde o mobilní zařízení, notebooky nebo dokonce systémy automobilů.

Dokážete si představit, kolik úsilí bylo vynaloženo při pokusech o kódování aplikací na těchto zařízeních, aby bylo možné komunikovat s běžnými webovými aplikacemi? Opět Restful API může tuto práci zjednodušit, protože jak bylo zmíněno v bodě 1, opravdu nepotřebujete vědět, co je základní vrstvou pro zařízení.

3. Konečně je událost Cloud – Vše se přesouvá do cloudu. Aplikace se pomalu přesouvají do cloudových systémů, jako je např Azure or Amazon. Azure si Amazon poskytují mnoho API založených na architektuře Restful. Aplikace je tedy nyní třeba vyvíjet tak, aby byly kompatibilní s cloudem. Protože všechny architektury založené na cloudu fungují na principu REST, dává větší smysl, aby webové služby byly naprogramovány na architektuře založené na službách REST, aby bylo možné co nejlépe využít služby založené na cloudu.

Klidný Architecture

Aplikace nebo architektura považovaná za RESTful nebo ve stylu REST má následující vlastnosti

1. Stav a funkčnost jsou rozděleny do distribuovaných zdrojů – To znamená, že každý zdroj by měl být přístupný prostřednictvím běžných HTTP příkazů GET, POST, PUT nebo DELETE. Pokud tedy někdo chtěl získat soubor ze serveru, měl by mít možnost zadat požadavek GET a získat soubor. Pokud chtějí umístit soubor na server, měli by mít možnost zadat požadavek POST nebo PUT. A konečně, pokud chtěli smazat soubor ze serveru, mohou vydat požadavek DELETE.

2. Architektura je klient/server, bezstavová, vrstvená a podporuje ukládání do mezipaměti

  • Klient-server je typická architektura, kde server může být webový server hostující aplikaci a klient může být stejně jednoduchý jako webový prohlížeč.
  • Stateless znamená, že stav aplikace není udržován v REST. Pokud například odstraníte prostředek ze serveru pomocí příkazu DELETE, nemůžete očekávat, že informace o odstranění budou předány dalšímu požadavku.

Aby bylo zajištěno, že bude zdroj odstraněn, budete muset zadat požadavek GET. Požadavek GET by byl použit k získání všech prostředků na serveru. Poté by bylo nutné zjistit, zda byl zdroj skutečně odstraněn.

RESTFul principy a omezení

Architektura REST je založena na několika charakteristikách, které jsou rozvedeny níže. Každá webová služba RESTful musí splňovat níže uvedené vlastnosti, aby mohla být nazývána RESTful. Tyto vlastnosti jsou také známé jako principy návrhu, které je třeba dodržovat při práci se službami založenými na RESTful.

  1. RESTFul klient-server

    RESTFul principy a omezení

Toto je nejzákladnější požadavek architektury založené na REST. To znamená, že server bude mít webovou službu RESTful, která by klientovi poskytla požadovanou funkcionalitu. Klient odešle požadavek webové službě na serveru. Server buď žádost zamítne, nebo vyhoví a poskytne klientovi adekvátní odpověď.

  1. Bez státní příslušnosti

Koncept bezstavového stavu znamená, že je na klientovi, aby zajistil, že všechny požadované informace budou poskytnuty serveru. To je nutné, aby server mohl správně zpracovat odpověď. Server by neměl uchovávat žádné informace mezi požadavky od klienta. Je to velmi jednoduchá nezávislá sekvence otázek a odpovědí. Klient položí otázku, server na ni vhodně odpoví. Klient položí další otázku. Server si nebude pamatovat předchozí scénář otázka-odpověď a bude muset odpovědět na novou otázku nezávisle.

  1. Cache

RESTFul principy a omezení

Koncept Cache má pomoci s problémem bezstavů, který byl popsán v posledním bodě. Vzhledem k tomu, že každý požadavek klienta serveru je svou povahou nezávislý, může někdy klient požádat server o stejný požadavek znovu. A to i přesto, že o to již v minulosti požádal. Tento požadavek půjde na server a server odpoví. To zvyšuje provoz v síti. Cache je koncept implementovaný na klientovi pro ukládání požadavků, které již byly odeslány na server. Pokud tedy klient zadá stejný požadavek, místo toho, aby šel na server, přešel by do mezipaměti a získal požadované informace. Tím se ušetří množství síťového provozu z klienta na server.

  1. Vrstvený systém

Koncept vrstveného systému spočívá v tom, že jakákoli další vrstva, jako je vrstva middlewaru, může být vložena mezi klienta a skutečný server hostující webovou službu RESTFul (Vrstva middlewaru je místem, kde je vytvořena veškerá obchodní logika. Může to být služba navíc vytvořený, se kterým by klient mohl komunikovat, než zavolá na webovou službu.). Zavedení této vrstvy však musí být transparentní, aby nenarušovalo interakci mezi klientem a serverem.

  1. Rozhraní/jednotná smlouva

Toto je základní technika toho, jak by webové služby RESTful měly fungovat. RESTful v podstatě funguje na webové vrstvě HTTP a používá níže uvedená klíčová slovesa pro práci se zdroji na serveru

  • POST – Vytvoření prostředku na serveru
  • GET – pro načtení zdroje ze serveru
  • PUT – Změna stavu zdroje nebo jeho aktualizace
  • DELETE – Odebrání nebo odstranění zdroje ze serveru

Vytvořte svou první Restful webovou službu v ASP.NET

Nyní v tomto tutoriálu REST API se naučíme, jak vytvořit webovou službu Restful v ASP.NET:

Webové služby lze vytvářet v různých jazycích. K vytváření služeb založených na REST lze použít mnoho integrovaných vývojových prostředí.

V tomto příkladu RESTful API vytvoříme naši REST aplikaci v .Net pomocí Visual Studia. V našem příkladu pro webové služby Restful budeme emulovat následující příklad služby REST.

Budeme mít webovou službu Restful, která bude pracovat na níže uvedené sadě dat.

Níže uvedená sada dat představuje příklad REST API společnosti, která odhaluje výukové programy, které mají založené na Tutorialidu.

Tutorial Název kurzu
0 Pole
1 fronty
2 Stohy

V našem příkladu výukového programu REST API se chystáme implementovat níže uvedená klidná slovesa.

  1. ZÍSKEJTE výukový program – Když klient vyvolá toto Restful API, bude mu poskytnuta celá sada výukových programů dostupných z webové služby.
  2. ZÍSKEJTE výukový program/výukový program – Když klient vyvolá toto Restful API, bude mu přidělen název kurzu na základě výukového programu zaslaného klientem.
  3. POST kurz/název kurzu – Když klient vyvolá toto Restful API, klient odešle požadavek na vložení názvu kurzu. Webová služba poté přidá zadaný název kurzu do kolekce.
  4. DELETE Tutorial/Tutorialid– Když klient vyvolá toto Restful API, klient odešle požadavek na odstranění názvu kurzu na základě Tutorialid. Webová služba poté odstraní zaslaný název kurzu ze sbírky.

Pojďme se řídit níže uvedenými kroky v tomto tutoriálu RESTful API a vytvořit naše první webové služby RESTful, které provádějí výše uvedenou implementaci.

Jak vytvořit svou první klidnou webovou službu

Krok 1) Vytvořit nový projekt.
Prvním krokem je vytvoření prázdného asp.net Webová aplikace. Ve Visual Studiu 2013 klikněte na možnost nabídky Soubor->Nový projekt.

Vytvořte klidnou webovou službu

Jakmile kliknete na možnost Nový projekt, Visual Studio vám nabídne další dialogové okno pro výběr typu projektu a zadání nezbytných podrobností o projektu. To je vysvětleno v dalším kroku tohoto výukového programu RESTful API

Krok 2) Zadejte název a umístění projektu.

  1. Ujistěte se, že jste nejprve vybrali webové služby RESTful C# webová šablona webové aplikace ASP.NET. Projekt musí být tohoto typu, aby bylo možné vytvořit projekt webových služeb. Výběrem této možnosti Visual Studio poté provede nezbytné kroky k přidání požadovaných souborů, které vyžaduje jakákoli webová aplikace.
  2. Pojmenujte svůj projekt, který byl v našem případě uveden jako „Webservice.REST“.
  3. Poté se ujistěte, že uvedete umístění, kam budou soubory projektu uloženy.

Vytvořte klidnou webovou službu

Po dokončení uvidíte soubor projektu vytvořený v průzkumníku řešení v aplikaci Visual Studio 2013.

Vytvořte klidnou webovou službu

Krok 3) Vytvořte soubor webové služby.
Dalším krokem je vytvoření souboru webové služby, který bude mít webovou službu RESTful

  1. První Klikněte pravým tlačítkem myši na soubor projektu, jak je znázorněno níže

Vytvořte klidnou webovou službu

  1. V tomto kroku,
    1. Klepněte pravým tlačítkem myši na soubor projektu
    2. Vyberte možnost „Přidat->nová položka“.

Vytvořte klidnou webovou službu

V dialogovém okně, které se objeví, musíte provést následující

  1. Vyberte možnost služby WCF (s podporou Ajax) – Vyberte soubor tohoto typu, způsobí to Visual studio přidat základní kód, který vám pomůže vytvořit webovou službu RESTful. WCF znamená Windows Komunikace Foundation. WCF je knihovna pro aplikace různých platforem nebo stejné platformy pro komunikaci přes různé protokoly, jako je TCP, HTTP, HTTPS. Ajax je v podstatě asynchronní JavaScénář a XML. AJAX umožňuje asynchronní aktualizaci webových stránek výměnou malého množství dat se serverem v zákulisí.
  2. Dále zadejte název služby, což je v našem případě TutorialService.
  3. Nakonec klikněte na tlačítko Přidat a službu přidejte do řešení.

Vytvořte klidnou webovou službu

Krok 4) Proveďte konfiguraci.
Dalším krokem je skutečně provést změnu konfigurace, aby tento projekt mohl dokončit práci s webovými službami RESTful. To vyžaduje provést změnu v souboru s názvem Web.config. Tento soubor se zobrazí ve stejném okně jako soubor projektu webové služby. Soubor Web.config obsahuje všechny konfigurace, díky kterým webová aplikace funguje tak, jak má. Prováděná změna ve skutečnosti umožňuje aplikaci odesílat a přijímat data jako čistou webovou službu RESTful.

  1. Kliknutím na soubor Web.config otevřete kód

Vytvořte klidnou webovou službu

  1. Najít pro linku

Vytvořte klidnou webovou službu

  1. Změňte řádek na

Vytvořte klidnou webovou službu

Krok 5) Přidejte náš kód pro implementaci.
Dalším krokem v tomto tutoriálu RESTful API je přidání našeho kódu pro implementaci. Veškerý níže uvedený kód musí být zapsán v souboru TutorialService.svc

  1. První bit je přidat kód reprezentující naše data, která budou použita v našem programu. Takže budeme mít seznam řetězcových proměnných s hodnotami „Arrays“, „Queues“ a „Stacks“. Toto bude představovat název výukových programů dostupných prostřednictvím naší webové hostingové služby.

Vytvořte klidnou webovou službu

namespace Webservice.REST
{
	[ServiceContract(Namespace = "")]
	[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed
	public class TutorialService
	{
		private static List<String> lst = new List<String>
		(new String[] {"Arrays","Queues","Stacks"});

Krok 6) Definujte kód pro naši metodu GET.
Dále definujeme kód pro naši metodu GET. Tento kód bude také umístěn ve stejném souboru TutorialService.svc. Tento kód se spustí, kdykoli zavoláme službu z našeho prohlížeče.

Níže uvedená metoda bude použita ke splnění níže uvedeného scénáře

  • Pokud uživatel chce mít k dispozici seznam všech výukových programů, bude k tomu potřeba napsat níže uvedený kód.

Vytvořte klidnou webovou službu

[WebGet(UriTemplate="/Tutorial")]

public String GetAllTutorial()
{
	int count = 1st.Count;
	String TutorialList = "";
	for (int i = 0; i < count; i++)
	TutorialList = TutorialList + lst[i] + ",";
	return TutorialList;
}

Vysvětlení kódu:-

  1. První řádek kódu je nejdůležitější. Používá se k definování toho, jak můžeme tuto metodu volat přes URL. Pokud je tedy odkaz na naši webovou službu http://localhost:52645/TutorialService.svc a pokud k URL připojíme '/Výukový program' jako http://localhost:52645/TutorialService.svc/Tutorial , bude vyvolán výše uvedený kód. Atribut 'WebGet' je parametr, který umožňuje této metodě být metodou RESTful, takže ji lze vyvolat pomocí slovesa GET.
  2. Tato část kódu se používá k procházení našeho seznamu řetězců v proměnné 'lst' a vrácení všech do volajícího programu.

Krok 7) Vraťte výstup.
Níže uvedený kód zajišťuje, že pokud je zavoláno GET do výukové služby s ID výukového programu, vrátí odpovídající název výukového programu na základě ID výukového programu.

Vytvořte klidnou webovou službu

[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")]

public String GetTutorialbyID(String Tutorialid)
{
	int pid;
	Int32.TryParse(Tutorialid, out pid);
	return lst[pid];
}

Vysvětlení kódu:-

  1. První řádek kódu je nejdůležitější. Používá se k definování toho, jak můžeme tuto metodu volat přes URL. Pokud je tedy odkaz na naši webovou službu http://localhost:52645/TutorialService.svc a pokud k URL připojíme '/Tutorial/{Tutorialid}', pak bychom mohli volat webovou službu jako http://localhost:52645/TutorialService.svc/Tutorial/1 jako příklad. Webová služba by pak musela vrátit název kurzu, který měl ID kurzu #1.
  2. Tato část kódu se používá k vrácení „názvu výukového programu“, který má ID výukového programu předané webové metodě.
  • Ve výchozím nastavení je třeba pamatovat na to, že vše, co je předáno do adresy URL v prohlížeči, je řetězec.
  • Musíte si však pamatovat, že index do našeho seznamu musí být celé číslo, takže přidáváme potřebný kód, abychom nejprve převedli Tutorialid na celé číslo a poté jej použili pro přístup k pozici indexu v našem seznamu a
  • Potom odpovídajícím způsobem vraťte hodnotu volajícímu programu.

Krok 8) Napište kód pro metodu POST.
Dalším krokem je napsat kód pro naši metodu POST. Tato metoda bude vyvolána vždy, když budeme chtít přidat hodnotu řetězce do našeho seznamu výukových programů pomocí metody POST. Pokud byste například chtěli přidat název kurzu „Testování softwaru“, budete muset použít metodu POST.

Vytvořte klidnou webovou službu

Vysvětlení kódu:-

  1. První řádek je atribut 'WebInvoke', který byl připojen k naší metodě. To umožňuje vyvolání metody prostřednictvím volání POST. Atributy RequestFormat a ResponseFormat musí být uvedeny jako JSON, protože při odesílání hodnot do webové služby RESTFul musí být hodnoty v tomto formátu.
  2. Druhý řádek kódu se používá k přidání hodnoty řetězce předané voláním POST do našeho stávajícího seznamu řetězců výukového programu.

Krok 9) Přidat metodu pro zpracování operace DELETE.
Nakonec přidáme naši metodu pro zpracování operace DELETE. Tato metoda bude vyvolána vždy, když budeme chtít odstranit existující hodnotu řetězce z našeho seznamu Tutoriálů pomocí metody DELETE.

Vytvořte klidnou webovou službu

[WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Json,
	UriTemplate = "/Tutorial/{Tutorialid}", ResponseFormat = WebMessageFormat.Json,
	BodyStyle = WebMessageBodyStyle.Wrapped)]
	
public void DeleteTutorial(String Tutorialid)
{
	int pid;
	Int32.TryParse(Tutorialid, out pid);
	1st.RemoveAt(pid);
}

Vysvětlení kódu:-

  1. První řádek je atribut 'WebInvoke', který byl připojen k naší metodě. To umožňuje vyvolání metody prostřednictvím volání POST. Atributy RequestFormat a ResponseFormat musí být uvedeny jako JSON, protože při odesílání hodnot do webové služby RESTFul musí být hodnoty v tomto formátu. Všimněte si, že parametr Method je nastaven na „DELETE“. To znamená, že kdykoli vydáme sloveso DELETE, bude tato metoda vyvolána.
  2. Druhý řádek kódu se používá k převzetí Tutorialid odeslaného prostřednictvím volání DELETE a následnému odstranění tohoto ID z našeho seznamu. (The Int32 funkce v kódu se používá k převodu ID výukového programu z řetězcové proměnné na celé číslo).

Spuštění vaší první Restful webové služby

Nyní, když jsme vytvořili celou naši webovou službu ve výše uvedené sekci. Podívejme se, jak můžeme spustit službu Tutorial, aby ji bylo možné vyvolat z libovolného klienta.

Chcete-li spustit webovou službu, postupujte podle níže uvedených kroků

Krok 1) Klikněte pravým tlačítkem na soubor projektu – Webservice.REST

Provozování Restful Web Service

Krok 2) Vyberte možnost nabídky „Nastavit jako projekt po spuštění“. Tím zajistíte, že tento projekt bude spuštěn, když Visual Studio spustí celé řešení

Provozování Restful Web Service

Krok 3) Dalším krokem je spuštění samotného projektu. Nyní v závislosti na výchozím prohlížeči nainstalovaném v systému se vedle tlačítka Spustit v sadě Visual Studio objeví příslušný název prohlížeče. V našem případě máme Google Chrome ukazovat se. Stačí kliknout na toto tlačítko.

Provozování Restful Web Service

Výstup:-

Když je projekt spuštěn, můžete přejít do sekce TutorialService.svc/Tutorial a získáte níže uvedený výstup.

Provozování Restful Web Service

Ve výše uvedeném výstupu

  • Můžete vidět, že prohlížeč vyvolává sloveso 'GET' a spouští metodu 'GetAllTutorial' ve webové službě. Tento modul se používá k zobrazení všech výukových programů vystavených naší webovou službou.

Testování vaší první Restful webové služby

Ve výše uvedené části jsme již viděli, jak použít prohlížeč ke spuštění slovesa 'GET' a vyvolání 'GetAllTutorial.'

  1. Pojďme nyní pomocí prohlížeče provést následující scénář použití.

GET Tutorial/Tutorialid – Když klient vyvolá toto Restful API, bude mu přidělen název kurzu na základě tutoriálu zaslaného klientem.

Ve svém prohlížeči připojte řetězec /1 za slovo Tutorial v URL. Pokud stisknete tlačítko Enter, získáte níže uvedený výstup

Testování Restful Web Service

Nyní uvidíte výstup Queues, který ve skutečnosti odpovídá číslu 1 v našem seznamu Řetězců tutoriálu. To znamená, že metoda 'GetTutorialbyID' je nyní vyvolána z naší webové služby. Ukazuje také, že hodnota 1 je úspěšně předávána přes prohlížeč naší webové službě a naší metodě, a proto v prohlížeči získáváme správnou odpovídající hodnotu „Queues“.

  1. Dále pojďme využít naši webovou službu provedením níže uvedeného scénáře. K tomu je třeba nainstalovat nástroj s názvem „Fiddler“, což je bezplatný nástroj ke stažení z webu.

POST Tutorial/Tutorialname – Když klient vyvolá toto Restful API, klient odešle požadavek na vložení názvu kurzu. Webová služba poté přidá zadaný název kurzu do kolekce.

Spusťte nástroj Filddler a proveďte níže uvedené kroky;

  1. Přejděte do sekce skladatel. To se používá k vytváření požadavků, které lze odeslat do libovolné webové aplikace.
  2. Ujistěte se, že typ požadavku je „POST“ a že byla nalezena správná adresa URL, což by v našem případě mělo být http://localhost:52645/TutorialService.svc/Tutorial
  3. Ujistěte se, že Content-Type je označen jako application/json. Pamatujte, že naše metoda požadavku POST v naší webové službě přijímá pouze data ve stylu json, takže se musíme ujistit, že je to uvedeno, když posíláme požadavek do naší aplikace.
  4. Nakonec musíme zadat naše data. Pamatujte, že naše metoda pro POST přijímá parametr nazvaný 'str.' Zde tedy specifikujeme, že chceme přidat hodnotu nazvanou „Stromy“ do naší sbírky názvů výukových programů a zajistit, aby byla označena názvem proměnné str.

Nakonec stačí kliknout na tlačítko Execute v houslovém nástroji. To odešle webové službě požadavek na ZVEŘEJNĚNÍ dat „Stromy“ do naší webové služby.

Testování Restful Web Service

Nyní, když projdeme na adresu URL výukového programu, abychom zobrazili všechny řetězce v našem seznamu výukových programů, nyní uvidíte, že je přítomna také hodnota „Stromy“. To ukazuje, že požadavek POST na webovou službu byl úspěšně proveden a že byl úspěšně přidán do našeho seznamu výukových programů.

Testování Restful Web Service

  1. Dále pojďme využít naši webovou službu provedením níže uvedeného scénáře. K tomu také musíme použít nástroj fiddler

DELETE Tutorial/Tutorialid – Když klient vyvolá toto Restful API, klient odešle požadavek na odstranění názvu kurzu na základě Tutorialid. Webová služba poté odstraní zaslaný název kurzu ze sbírky.

Spusťte nástroj Filddler a proveďte níže uvedené kroky

  1. Přejděte do sekce skladatel. To se používá k vytváření požadavků, které lze odeslat do libovolné webové aplikace.
  2. Ujistěte se, že typ požadavku je „DELETE“ a že je nalezena správná adresa URL, což by v našem případě mělo být http://localhost:52645/TutorialService.svc/Tutorial. Ujistěte se, že id, které se používá k odstranění řetězce v seznamu odeslaném prostřednictvím adresy URL, jako parametr. V našem příkladu REST posíláme 1, takže tím smažeme 2nd prvek v naší sbírce, který je „Queues“.

Nakonec stačí kliknout na tlačítko Execute v houslovém nástroji. Tím odešlete webové službě požadavek na VYMAZÁNÍ dat „Queues“ do naší webové služby.

Testování Restful Web Service

Když nyní projdeme na adresu URL výukového programu, abychom zobrazili všechny řetězce v našem seznamu výukových programů, všimnete si, že hodnota „Queues“ již není přítomna.

To ukazuje, že požadavek DELETE na webovou službu byl úspěšně proveden. Prvek na indexu číslo 1 v našem seznamu řetězců výukového programu byl úspěšně odstraněn.

Testování Restful Web Service

Shrnutí

  • REST je zkratka pro REpresentational State Transfer. REST se používá k vytváření webových služeb, které jsou lehké, udržovatelné a škálovatelné.
  • Stále více aplikací přechází na architekturu Restful. Je to proto, že mnoho lidí nyní používá mobilní zařízení a širší škálu aplikací, které se přesouvají do cloudu.
  • Hlavní aspekty REST jsou zdroje, které se nacházejí na serveru a slovesa GET, POST, PUT a DELETE, která lze použít k práci s těmito zdroji.
  • Visual Studio a.Net lze použít k vytvoření webových služeb Restful.
  • Kdy Testování webové služby pro POST a PUT, musíte použít jiný nástroj zvaný fiddler, který lze použít k odeslání požadavku POST a PUT na server.