Výukový program pro webové služby RESTful: Příklad REST API

⚡ Chytré shrnutí

RESTful webové služby poskytují odlehčený, bezstavový přístup pro aplikace k výměně dat přes HTTP pomocí standardních příkazů. Zpřístupňují zdroje prostřednictvím čistého URLs, což umožňuje škálovatelnou, na platformě nezávislou komunikaci mezi distribuovanými klienty, servery, mobilními zařízeními a moderními cloudovými a AI platformami.

  • 📊 Základní slovesa: Příkazy GET, POST, PUT a DELETE se přímo mapují na operace čtení, vytváření, aktualizace a mazání prováděné na serverových zdrojích.
  • 🧩 Klíčové prvky: Zdroje, příkazy požadavku, záhlaví, tělo požadavku, tělo odpovědi a stavové kódy společně definují každou REST interakci.
  • 🌐 Archistruktura: REST se řídí modelem klient-server, který zůstává bezstavový, vrstvený a optimalizovaný pro mezipaměť, což umožňuje rychlejší a spolehlivější opakované požadavky.
  • 🛠️ Realizace: ASP.NET se šablonou služby WCF umožňuje vývojářům zpřístupnit koncové body RESTful ve Visual Studiu s minimální konfigurací.
  • 🧪 Testování: Prohlížeče zpracovávají volání GET, zatímco Fiddler or Postman odesílat požadavky POST, PUT a DELETE pro ověření.
  • 🔐 Osvědčené postupy: HTTPS, ověřování tokenem, smysluplné stavové kódy a verzování URLudržují produkční REST API bezpečná a udržovatelná.
  • 🤖 Integrace AI: OpenAI, antropické a Google publikovat REST API, která pohánějí chatboty, autonomní agenty a pracovní postupy strojového učení.

Výukový program RESTful Web Services

Co je to Restful Web Services?

Poklidné webové služby je lehká, snadno udržovatelná a škálovatelná služba postavená na architektuře REST. Restful webová služba zpřístupňuje API z vaší aplikace bezpečným, jednotným a bezstavovým způsobem volajícímu klientovi. Volající klient pak může provádět předdefinované operace pomocí služby Restful. Základním protokolem pro REST je HTTP a REST je zkratka pro REpresentational State Transfer (přenos reprezentativního stavu).

Jednoduše řečeno, REST definuje standardní způsob, jakým se zdroje, jako jsou dokumenty, obrázky nebo databázové záznamy, mohou vytvářet, číst, aktualizovat a mazat přes web. Protože se spoléhá na prostý HTTP, může téměř jakýkoli programovací jazyk nebo zařízení využívat RESTful službu bez speciálních nástrojů.

Proč používat služby Restful Web Services?

Než se pustíme do technických detailů, je dobré pochopit, proč se REST stal tak populárním. RESTful webové služby se dostaly do popředí z následujících důvodů:

1. Heterogenní jazyky a prostředí – To je jeden ze základních důvodů, který je stejný jako u MÝDLO stejně.

  • Umožňuje webovým aplikacím, které jsou postaveny na různých programovacích jazycích, vzájemně komunikovat.
  • S pomocí služeb Restful mohou tyto webové aplikace existovat v různých prostředích; některé by mohly být na Windowsa další mohou být na Linuxu.

Nakonec, bez ohledu na prostředí, by výsledek měl být vždy stejný: aplikace by měly být schopny spolu komunikovat. Restful webové služby nabízejí tuto flexibilitu aplikacím postaveným na různých programovacích jazycích a platformách.

Obrázek níže ukazuje příklad webové aplikace, která musí komunikovat s dalšími aplikacemi, jako je Facebook, Twitter a… Google.

Pokud by klientská aplikace musela fungovat se stránkami jako Facebook a Twitter, vývojáři by obvykle potřebovali vědět, na jakém jazyce a platformě jsou tyto stránky vytvořeny. Na základě toho by mohli napsat kód rozhraní, ale údržba tohoto přístupu by se mohla ukázat jako noční můra.

Místo toho Facebook, Twitter a Google zpřístupnit jejich funkcionalitu ve formě webových služeb Restful. To umožňuje jakékoli klientské aplikaci volat tyto webové služby prostřednictvím RESTu, bez ohledu na použitou technologii.

Proč používat služby Restful Web Services

2. Událost Zařízení – V dnešní době je potřeba na všem pracovat Mobilní aplikace zařízení, ať už se jedná o mobilní telefon, notebook nebo dokonce systém v automobilu.

Představte si, kolik úsilí je potřeba k napsání aplikací na těchto zařízeních, aby komunikovaly s běžnými webovými aplikacemi. Restful API tuto práci opět zjednodušují, protože, jak bylo zmíněno v prvním bodě, ve skutečnosti nepotřebujete znát základní vrstvu zařízení.

3. Událost Oblaku – Všechno se přesouvá do cloudu. Aplikace se pomalu přesouvají do cloudových systémů, jako například Azure or Amazon. Azure a Amazon poskytují mnoho API založených na architektuře Restful. Aplikace proto nyní musí být vyvíjeny tak, aby byly kompatibilní s cloudem. Vzhledem k tomu, že všechny cloudové architektury fungují na principu REST, dává smysl, aby webové služby byly programovány na architektuře založené na REST, aby se cloudové služby co nejlépe využily.

Klíčové prvky RESTful

Webové služby REST urazily od svého vzniku dlouhou cestu. V roce 2002 webové konsorcium vydalo definici webových služeb WSDL a SOAP. Ta vytvořila standard pro implementaci webových služeb.

V roce 2004 webové konsorcium také vydalo definici dalšího standardu s názvem RESTful. Během posledních několika let se tento standard stal poměrně populárním a nyní jej používá mnoho z nejpopulárnějších webových stránek po celém světě, včetně Facebooku a Twitteru.

REST je způsob přístupu ke zdrojům, které se nacházejí v určitém prostředí. Můžete mít například server, který hostuje důležité dokumenty, obrázky nebo videa. To vše jsou příklady zdrojů. Pokud klient, například webový prohlížeč, potřebuje některý z těchto zdrojů, musí odeslat požadavek na server. Služby REST definují standardní způsob, jakým lze k těmto zdrojům přistupovat.

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

  1. Materiály – 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 URL webové aplikace je https://demo.guru99.comNyní, pro přístup k záznamu zaměstnance prostřednictvím REST služeb, lze zadat příkaz https://demo.guru99.com/employee/1Tento příkaz říká webovému serveru, aby poskytl podrobnosti o zaměstnanci, jehož čísle zaměstnance je 1.
  2. Slovesa žádosti – Tyto příkazy popisují, co chcete s daným zdrojem dělat. Prohlížeč vydá příkaz GET, který koncovému bodu sdělí, že chce získat data. K dispozici je však mnoho dalších příkazů, včetně POST, PUT a DELETE. V případě uvedeného příkladu tedy https://demo.guru99.com/employee/1, webový prohlížeč ve skutečnosti vydává příkaz GET, protože chce získat podrobnosti o záznamu zaměstnance.
  3. Vyžádejte si záhlaví – Toto jsou dodatečné instrukce odeslané s požadavkem. Mohou definovat typ požadované odpovědi nebo podrobnosti autorizace.
  4. Tělo žádosti – Toto jsou data odesílaná s požadavkem. Data se obvykle odesílají v těle požadavku, když je odeslán požadavek POST na webovou službu REST. V volání POST klient sdělí webové službě REST, že chce na server přidat zdroj. Tělo požadavku by tedy mělo obsahovat podrobnosti o zdroji, který je třeba přidat.
  5. Response Body – Toto je hlavní část odpovědi. Takže v našem příkladu RESTful API, pokud bychom se dotazovali webového serveru prostřednictvím požadavku https://demo.guru99.com/employee/1, webový server by mohl v těle odpovědi vrátit dokument XML se všemi údaji o zaměstnanci.
  6. Stavové kódy odezvy – Toto jsou obecné kódy vrácené spolu s odpovědí z webového serveru. Příkladem je kód 200, který se obvykle vrací, když při vrácení odpovědi klientovi nedojde k žádné chybě.

Uklidňující metody

Níže uvedený diagram ukazuje většinu sloves (POST, GET, PUT a DELETE) a příklad jejich významu v REST API.

Předpokládejme, že na dané lokaci máme definovanou RESTful webovou službu. https://demo.guru99.com/employeeKdyž klient odešle jakýkoli požadavek na tuto webovou službu, může zadat libovolný z běžných HTTP příkazů GET, POST, DELETE a PUT. Níže je uvedeno, co by se stalo, kdyby klient odeslal příslušná příkazy.

  1. POST – Toto by se použilo 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žívalo 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ů používajících službu RESTful.

Nyní se na to podívejme z pohledu jediného záznamu. Řekněme, že existuje záznam zaměstnance s číslem zaměstnance 1. Následující akce by měly svůj příslušný 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 – Toto se používá k vymazání údajů zaměstnance s číslem zaměstnance 1.

Uklidňující metody

Klidný Architecture

Aplikace nebo architektura považovaná za RESTful nebo REST-style má následující charakteristiky.

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. Takže pokud by někdo chtěl získat soubor ze serveru, měl by být schopen vydat požadavek GET a soubor získat. Pokud chce soubor umístit na server, měl by být schopen vydat požadavek POST nebo PUT. A konečně, pokud chce soubor ze serveru smazat, může 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.

Abyste zajistili odstranění zdroje, museli byste vydat požadavek GET. Požadavek GET by se nejprve použil k získání všech zdrojů na serveru a poté by se muselo zjistit, zda byl zdroj skutečně odstraněn.

RESTFul principy a omezení

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

  1. RESTFul klient-server

    Princip RESTFul klient-server

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

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

Koncept bezstavového přístupu znamená, že je na klientovi, aby zajistil, že serveru budou poskytnuty všechny požadované informace. To je nutné k tomu, aby server mohl odpověď správně zpracovat. Server by neměl mezi požadavky klienta uchovávat žádné informace. Jedná se o velmi jednoduchou, nezávislou sekvenci otázek a odpovědí. Klient položí otázku a server na ni odpovídajícím způsobem odpoví. Když klient položí další otázku, server si předchozí scénář otázek a odpovědí nepamatuje a bude muset na novou otázku odpovědět samostatně.

  1. Cache

Princip RESTFul mezipaměti

Koncept mezipaměti pomáhá s problémem bezstavovosti popsaným v posledním bodě. Vzhledem k tomu, že každý požadavek mezi serverem a klientem je nezávislý, může klient někdy znovu požádat server o stejný požadavek, i když o něj již v minulosti požádal. Tento požadavek bude odeslán na server a server na něj odpoví, což zvýší provoz v síti. Mezipaměť je koncept implementovaný na straně klienta pro ukládání požadavků, které již byly na server odeslány. Pokud tedy klient odešle stejný požadavek, místo aby šel na server, přesune se do mezipaměti a získá požadované informace. Tím se ušetří množství síťového provozu tam a zpět mezi klientem a serverem.

  1. Vrstvený systém

Koncept vrstevnatého systému spočívá v tom, že mezi klienta a skutečný server hostující webovou službu RESTFul lze vložit jakoukoli další vrstvu, například vrstvu middlewaru. (Vrstva middlewaru je místem, kde se vytváří veškerá obchodní logika. Může se jednat o další službu, se kterou klient interaguje předtím, než zavolá webovou službu.) Zavedení této vrstvy však musí být transparentní, aby nenarušilo interakci mezi klientem a serverem.

  1. Rozhraní/Uniform Contract

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

  • POST – Vytvoření zdroje na serveru.
  • GET – Načtení zdroje ze serveru.
  • PUT – Změna stavu zdroje nebo jeho aktualizace.
  • SMAZAT – Odebrání nebo smazání zdroje ze serveru.

REST vs. SOAP: Klíčové rozdíly

Vývojáři při navrhování webových služeb často zvažují REST oproti SOAP. Oba umožňují komunikaci distribuovaných aplikací, ale jejich filozofie se výrazně liší. REST je architektonický styl, který používá jednoduchá HTTP slovesa a odlehčené formáty, jako je JSON, zatímco MÝDLO je striktní protokol, který se spoléhá na obálky XML a formální kontract. Níže uvedená tabulka shrnuje nejdůležitější rozdíly.

Vzhled REST MÝDLO
Typ Architexturální styl Přísný protokol
Formát dat JSON, XML, prostý text, HTML Pouze XML
DOPRAVA Pouze HTTP HTTP, SMTP, TCP a další
Stát Bez státní příslušnosti Bez státní příslušnosti nebo se státní příslušností
Výkon Rychlejší a lehčí Náročnější kvůli režijním nákladům na XML
Nejlepší pro Webová, mobilní a veřejná API Podnikové aplikace vyžadující přísné zabezpečení

V praxi je REST výchozí volbou pro veřejná webová a mobilní API, protože je rychlejší a snadněji použitelný, zatímco SOAP zůstává užitečný pro podnikové systémy, které vyžadují vestavěné zabezpečení a formální kontrolu.tracts.

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

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

Webové služby lze vytvářet v různých jazycích a 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. Budeme mít webovou službu Restful, která bude pracovat s níže uvedenou sadou dat.

Níže uvedená sada dat představuje příklad REST API společnosti, která zveřejňuje své tutoriály na základě Tutorialid.

Tutorial Název kurzu
0 Pole
1 fronty
2 Stohy

V našem příkladu tutoriálu o REST API implementujeme níže uvedená slovesa Restful.

  1. ZÍSKEJTE výukový program – Když klient spustí toto Restful API, zobrazí se mu celá sada tutoriálů dostupných z webové služby.
  2. ZÍSKEJTE výukový program/výukový program – Když klient spustí toto rozhraní Restful API, bude mu přidělen název tutoriálu na základě ID tutoriálu, které klient odeslal.
  3. POST kurz/název kurzu – Když klient zavolá toto Restful API, odešle požadavek na vložení názvu tutoriálu. Webová služba poté přidá odeslaný název tutoriálu do kolekce.
  4. DELETE Tutorial/Tutorialid – Když klient spustí toto rozhraní Restful API, odešle požadavek na odstranění názvu tutoriálu na základě ID tutoriálu. Webová služba poté odeslaný název tutoriálu z kolekce odstraní.

Pojďme si podle níže uvedených kroků vytvořit naši první RESTful webovou službu, která provede výše uvedenou implementaci.

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

Krok 1) Vytvořte nový projekt.
Prvním krokem je vytvoření prázdného asp.net webová aplikace. V aplikaci Visual Studio 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 zobrazí další dialogové okno pro výběr typu projektu a zadání potřebných údajů. To je vysvětleno v dalším kroku.

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

  1. Ujistěte se, že jste nejprve vybrali 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 provede Visual Studio potřebné kroky k přidání požadovaných souborů pro jakoukoli webovou aplikaci.
  2. Zadejte název svého projektu, v našem případě „Webservice.REST“.
  3. Pak se ujistěte, že jste zadali umístění, kam budou uloženy soubory projektu.

Vytvořte klidnou webovou službu

Po dokončení uvidíte vytvořený soubor projektu v Průzkumníku řešení ve Visual Studiu 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 obsahovat RESTful webovou službu.

  1. Nejprve 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. Klikně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 zobrazeném dialogovém okně je třeba provést následující.

  1. Vyberte možnost Služba WCF (s podporou Ajaxu). Výběrem souboru tohoto typu přidá Visual Studio základní kód, který vám pomůže vytvořit webovou službu RESTful. WCF je zkratka pro Windows Komunikace FoundationWCF je knihovna pro aplikace různých platforem (nebo stejné platformy) pro komunikaci přes různé protokoly, jako jsou TCP, HTTP a HTTPS. Ajax je 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, 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 provedení změny konfigurace, aby tento projekt mohl fungovat s webovými službami RESTful. To vyžaduje změnu souboru s názvem Web.configTento soubor se zobrazí ve stejném okně jako soubor projektu webové služby. Soubor Web.config obsahuje všechny konfigurace, které zajišťují, aby webová aplikace fungovala správně. Provedená změna umožňuje aplikaci odesílat a přijímat data jako čistě RESTful webovou službu.

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

Vytvořte klidnou webovou službu

  1. Najděte čáru .

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 je přidání našeho kódu pro implementaci. Veškerý níže uvedený kód musí být napsán v souboru TutorialService.svc.

  1. První částí je přidání kódu pro reprezentaci našich dat, která budou použita v našem programu. Budeme mít tedy seznam řetězcových proměnných s hodnotami „Pole“, „Fronty“ a „Zásobníky“. Ty budou reprezentovat názvy tutoriálů 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í vždy, když budeme službu volat z našeho prohlížeče.

Níže uvedená metoda bude použita k naplnění níže uvedeného scénáře.

  • Pokud chce uživatel seznam všech dostupných tutoriálů, je nutné k tomu napsat níže uvedený kód.

Vytvořte klidnou webovou službu

[WebGet(UriTemplate = "/Tutorial")]

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

Code Vysvětlení:-

  1. První řádek kódu je nejdůležitější. Používá se k definování, jak můžeme tuto metodu volat pomocí URLTakže, pokud je odkaz na naši webovou službu http://localhost:52645/TutorialService.svc a k němu připojíme „/Tutorial“ URL, jako v http://localhost:52645/TutorialService.svc/Tutorial, bude vyvolán výše uvedený kód. Atribut 'WebGet' je parametr, který umožňuje, aby tato metoda byla RESTful metodou, 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ásledující kód zajišťuje, že pokud je provedeno volání GET ke službě Tutorial s ID Tutorial, vrátí odpovídající název tutoriálu na základě ID Tutorial.

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];
}

Code Vysvětlení:-

  1. První řádek kódu je nejdůležitější. Definuje, jak můžeme tuto metodu volat pomocí URLTakže, pokud je odkaz na naši webovou službu http://localhost:52645/TutorialService.svc a k němu připojíme '/Tutorial/{Tutorialid}' URL, mohli bychom webovou službu volat jako http://localhost:52645/TutorialService.svc/Tutorial/1Například . Webová služba by pak vrátila název tutoriálu, který měl ID tutoriálu 1.
  2. Tato část kódu se používá k vrácení názvu tutoriálu, který má ID tutoriálu předané webové metodě.
  • Ve výchozím nastavení je třeba si pamatovat, že cokoli je předáno URL v prohlížeči je řetězec.
  • Musíte si ale pamatovat, že index našeho seznamu musí být celé číslo, takže přidáváme potřebný kód, který nejprve převede Tutorialid na celé číslo.
  • Poté jej použijeme k přístupu k indexové pozici v našem seznamu a odpovídajícím způsobem vrátíme hodnotu volajícímu programu.

Krok 8) Napište kód pro metodu POST.
Dalším krokem je napsání kódu pro naši metodu POST. Tato metoda bude volána vždy, když budeme chtít přidat řetězcovou hodnotu do našeho seznamu tutoriálů pomocí metody POST. Například pokud byste chtěli přidat název tutoriálu „Testování softwaru“, museli byste použít metodu POST.

Vytvořte klidnou webovou službu

[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "/Tutorial/{str}")]

public void AddTutorial(String str)
{
    lst.Add(str);
}

Code Vysvětlení:-

  1. První řádek je atribut „WebInvoke“, který byl připojen k naší metodě. To umožňuje volání metody pomocí POST volání. 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í řetězcové hodnoty předané prostřednictvím volání POST do našeho existujícího seznamu řetězců v tutoriálu.

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

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);
    lst.RemoveAt(pid);
}

Code Vysvětlení:-

  1. První řádek je atribut „WebInvoke“, který byl připojen k naší metodě. To umožňuje volání metody prostřednictvím volání DELETE. Atributy RequestFormat a ResponseFormat musí být uvedeny jako JSON, protože hodnoty musí být 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 tutoriálu z řetězcové proměnné na celé číslo.)

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

Nyní, když jsme si v předchozí části vytvořili celou webovou službu, 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 myši na soubor projektu – Webservice.REST.

Provozování Restful Web Service

Krok 2) V nabídce vyberte možnost „Nastavit jako spouštěcí projekt“. Tím zajistíte, že se tento projekt spustí, když Visual Studio spustí celé řešení.

Provozování Restful Web Service

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

Provozování Restful Web Service

Výstup:-

Po spuštění projektu můžete přejít do sekce TutorialService.svc/Tutorial a zobrazí se vám níže uvedený výstup.

Provozování Restful Web Service

Ve výše uvedeném výstupu,

  • Vidíte, že prohlížeč volá příkaz 'GET' a spouští metodu 'GetAllTutorial' ve webové službě. Tento modul se používá k zobrazení všech tutoriálů, které naše webová služba zpřístupňuje.

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

V předchozí části jsme si již ukázali, jak pomocí prohlížeče spustit příkaz 'GET' a vyvolat 'GetAllTutorial'.

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

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

Ve vašem prohlížeči přidejte řetězec /1 za slovo Tutorial v URLPokud stisknete tlačítko Enter, zobrazí se vám níže uvedený výstup.

Testování Restful Web Service

Nyní uvidíte výstup proměnné „Queues“, který odpovídá číslu 1 v našem seznamu řetězců tutoriálu. To znamená, že z naší webové služby je nyní volána metoda „GetTutorialbyID“. Také to ukazuje, že hodnota 1 je úspěšně předávána prohlížečem naší webové službě a naší metodě, a proto v prohlížeči dostáváme správnou odpovídající hodnotu proměnné „Queues“.

  1. Dále si spustíme naši webovou službu spuštěním níže uvedeného scénáře. K tomu je potřeba nainstalovat nástroj s názvem Fiddler, což je nástroj ke stažení zdarma.

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

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

  1. Přejděte do sekce editoru. Ta se používá k vytváření požadavků, které lze odeslat do jakékoli webové aplikace.
  2. Ujistěte se, že typ požadavku je „POST“ a že je správný URL je zasažen, což by v našem případě mělo být http://localhost:52645/TutorialService.svc/Tutorial.
  3. Ujistěte se, že je typ obsahu (Content-Type) označen jako application/json. Nezapomeňte, že naše metoda POST request v naší webové službě přijímá pouze data ve stylu JSON, takže je nutné zajistit, aby byl tento typ specifikován při odesílání požadavku do naší aplikace.
  4. Nakonec musíme zadat naše data. Nezapomeňte, že naše metoda pro POST akceptuje parametr s názvem 'str'. Zde tedy specifikujeme, že chceme do naší kolekce názvů tutoriálů přidat hodnotu s názvem „Stromy“ a zajistit, aby byla označena tagem proměnné s názvem 'str'.

Nakonec stačí kliknout na tlačítko Spustit v FiddlerTím se webové službě odešle požadavek na odeslání dat „Stromy“ do naší webové služby.

Testování Restful Web Service

Nyní, když přejdeme k Tutoriálu URL Chcete-li zobrazit všechny řetězce v našem seznamu tutoriálů, uvidíte, že je zde také přítomna hodnota „Trees“. To znamená, že požadavek POST na webovou službu byl úspěšně proveden a že byl úspěšně přidán do našeho seznamu tutoriálů.

Testování Restful Web Service

  1. Dále si spustíme naši webovou službu spuštěním níže uvedeného scénáře. K tomu potřebujeme také použít Fiddler nástroj.

SMAZAT Tutorial/Tutorialid – Když klient volá toto Restful API, odešle požadavek na odstranění názvu tutoriálu na základě Tutorialid. Webová služba poté odeslaný název tutoriálu z kolekce odstraní.

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

  1. Přejděte do sekce editoru. Ta se používá k vytváření požadavků, které lze odeslat do jakékoli webové aplikace.
  2. Ujistěte se, že typ požadavku je „ODSTRANIT“ a že je URL je zasažen, což by v našem případě mělo být http://localhost:52645/TutorialService.svc/TutorialUjistěte se, že ID použité k odstranění řetězce v seznamu je odesláno prostřednictvím URL jako parametr. V našem REST příkladu odesíláme 1, takže se tím smaže 2nd prvek v naší kolekci, kterým je „Fronty“.

Nakonec stačí kliknout na tlačítko Spustit v FiddlerTím se webové službě odešle požadavek na SMAZÁNÍ datových „front“ z naší webové služby.

Testování Restful Web Service

Nyní, když přejdeme k Tutoriálu URL Chcete-li zobrazit všechny řetězce v našem seznamu tutoriálů, všimněte si, že hodnota „Fronty“ již není přítomna.

To ukazuje, že požadavek DELETE na webovou službu byl úspěšně proveden. Prvek s indexovým číslem 1 v našem seznamu řetězců tutoriálu byl úspěšně odstraněn.

Testování Restful Web Service

Nejlepší postupy RESTful API

Vytvoření funkčního REST API je pouze prvním krokem; vytvoření škálovatelného a udržovatelného rozhraní vyžaduje disciplínu. Níže uvedené postupy pomáhají udržet vaše koncové body předvídatelné, bezpečné a snadno použitelné pro ostatní vývojáře a agenty umělé inteligence.

  • Používejte podstatná jména, ne slovesa URLs. Koncové body, jako například /zaměstnanci/1 jsou jasnější než /getEmployee?id=1, protože sloveso HTTP již popisuje akci.
  • Vrátit smysluplné stavové kódy. V případě úspěchu odešlete kód 200, v případě vytvořeného zdroje 201, v případě chybného požadavku 400, v případě neoprávněného přístupu 401, v případě chybějícího zdroje 404 a v případě chyb serveru 500.
  • Verze vašeho API. Přidání segmentu verze, například /v1/ v cestě umožňuje vyvíjet službu bez narušení stávajících klientů.
  • Zabezpečte každý koncový bod. Používejte HTTPS spolu s klíči API nebo tokeny OAuth 2.0 a ověřujte veškerý příchozí vstup.
  • Podpora stránkování a filtrování. Vrácení velkých kolekcí na stránkách udržuje odpovědi rychlé a snižuje zatížení serveru.

Dodržování těchto konvencí umožňuje intuitivní integraci vaší webové služby RESTful, ať už je spotřebitelem mobilní aplikace, partnerský systém nebo automatizovaný pracovní postup s umělou inteligencí.

Nejčastější dotazy

REST je architektonický styl, který používá HTTP příkazy a odlehčené formáty jako JSON. SOAP je striktní protokol, který se spoléhá na XML obálky. REST je rychlejší, jednodušší a lepší pro webové a mobilní klienty, zatímco SOAP je vhodný pro podnikové systémy, které vyžadují vestavěné zabezpečení.

RESTful API vracejí standardní stavové kódy HTTP. 200 potvrzuje úspěšný požadavek, 201 označuje vytvořený zdroj, 400 hlásí chybný požadavek, 401 znamená neoprávněný požadavek, 404 označuje chybějící zdroj a 500 signalizuje chybu serveru během zpracování.

Zabezpečená REST API s HTTPS pro šifrování přenosu, klíči API nebo tokeny OAuth 2.0 pro ověřování, řízením přístupu na základě rolí pro autorizaci, omezením rychlosti pro prevenci zneužití a přísným ověřováním vstupů. Protokolování požadavků pomáhá s auditem a reakcí na incidenty.

Poskytovatelé umělé inteligence, jako například OpenAI, Anthropic a Google zpřístupnit koncové body REST, které přijímají výzvy JSON a vracejí vygenerovaný text. Vývojáři odesílají požadavky POST s klíči API a služba odpovídá výstupem modelu, což umožňuje chatboty, agenty a automatizační kanály.

Ano. Moderní agenti s umělou inteligencí používají volání nástrojů nebo funkcí k vyvolání REST koncových bodů během konverzace. Agent vybere koncový bod, sestaví datovou část JSON, spustí požadavek a přečte odpověď, aby naplánoval svou další akci bez lidského zásahu.

Webový prohlížeč může přímo testovat volání GET. Pro požadavky POST, PUT a DELETE vývojáři používají nástroje jako například Fiddler or Postman, které vám umožňují nastavit záhlaví, vybrat sloveso a zkontrolovat odpověď.

REST služby si běžně vyměňují data ve formátu JSON, protože je nenáročný a snadno se parsuje. Mohou také používat XML, HTML nebo prostý text. Klient a server se na formátu dohodnou pomocí HTTP záhlaví Content-Type a Accept.

Shrňte tento příspěvek takto: