Kas ir mierīgi tīmekļa pakalpojumi?
Restful Web Services ir viegls, uzturams un mērogojams pakalpojums, kas veidots uz REST arhitektūras. Nomierinošs tīmekļa pakalpojums, pakļaujiet klientam savu API drošā, vienveidīgā un bezvalstnieka API. Zvanošais klients var veikt iepriekš noteiktas darbības, izmantojot pakalpojumu Restful. REST pamatprotokols ir HTTP. REST nozīmē REpresentational State Transfer.
Šajā REST API apmācībā jūs uzzināsiet
- ATPŪTĪGI galvenie elementi
- Mierīgas metodes
- Kāpēc mierīgs
- Mierīga arhitektūra
- RestFul principi un ierobežojumi
- Izveidojiet savu pirmo mierīgo tīmekļa pakalpojumu ASP.NET
- Palaist savu pirmo Restful tīmekļa pakalpojumu
- Pārbauda savu pirmo Restful tīmekļa pakalpojumu
ATPŪTĪGI galvenie elementi
REST tīmekļa pakalpojumi kopš tā izveides ir patiešām paveikuši tālu. 2002. gadā tīmekļa konsorcijs bija izlaidis WSDL un SOAP tīmekļa pakalpojumu definīciju. Tas veidoja standartu, kā tiek ieviesti tīmekļa pakalpojumi.
2004. gadā tīmekļa konsorcijs izlaida arī papildu standarta ar nosaukumu RESTful definīciju. Pēdējo pāris gadu laikā šis standarts ir kļuvis diezgan populārs. Un to izmanto daudzas populāras vietnes visā pasaulē, tostarp Facebook un Twitter.
REST ir veids, kā piekļūt resursiem, kas atrodas noteiktā vidē. Piemēram, jums varētu būt serveris, kas varētu uzņemt svarīgus dokumentus, attēlus vai videoklipus. Tas viss ir resursu piemērs. Ja klients, teiksim, tīmekļa pārlūkprogrammai ir vajadzīgs kāds no šiem resursiem, tam ir jānosūta serverim pieprasījums piekļūt šiem resursiem. Tagad REST pakalpojumi nosaka veidu, kā piekļūt šiem resursiem.
RESTful ieviešanas galvenie elementi ir šādi:
-
Resursi - pirmais galvenais elements ir pats resurss. Pieņemsim, ka tīmekļa lietojumprogrammā serverī ir vairāku darbinieku ieraksti. Pieņemsim, ka tīmekļa lietojumprogrammas URL ir http://demo.guru99.com . Tagad, lai piekļūtu darbinieku ierakstu resursam, izmantojot REST pakalpojumus, var izdot komandu http://demo.guru99.com/employee/1 - Šī komanda liek tīmekļa serverim norādīt informāciju par darbinieku, kura darbinieka numurs ir 1.
-
Pieprasīt darbības vārdus - tajos aprakstīts, ko vēlaties darīt ar resursu. Pārlūkprogramma izdod GET darbības vārdu, lai norādītu galapunktam, kas vēlas iegūt datus. Tomēr ir pieejami daudzi citi darbības vārdi, tostarp tādas kā POST, PUT un DELETE. Tātad, piemērā http://demo.guru99.com/employee/1 , tīmekļa pārlūkprogramma faktiski izdod GET darbības vārdu, jo vēlas iegūt detalizētu informāciju par darbinieka ierakstu.
-
Pieprasījuma galvenes - šīs ir papildu instrukcijas, kas nosūtītas kopā ar pieprasījumu. Tie var noteikt nepieciešamo atbildes veidu vai autorizācijas informāciju.
-
Pieprasījuma struktūra - dati tiek nosūtīti kopā ar pieprasījumu. Dati parasti tiek nosūtīti pieprasījumā, kad tiek nosūtīts POST pieprasījums tīmekļa pakalpojumiem REST. POST zvanā klients REST tīmekļa pakalpojumiem faktiski paziņo, ka vēlas serverim pievienot resursu. Tādējādi pieprasījuma struktūrai būtu informācija par resursu, kas jāpievieno serverim.
-
Atbildes iestāde - šī ir galvenā atbildes daļa. Tāpēc mūsu RESTful API piemērā, ja mēs vaicātu tīmekļa serverim, izmantojot pieprasījumu http://demo.guru99.com/employee/1 , tīmekļa serveris var atbildēt uz XML dokumentu ar visu darbinieka informāciju atbildē. Ķermenis.
-
Atbildes statusa kodi - šie kodi ir vispārīgie kodi, kas tiek atgriezti kopā ar atbildi no tīmekļa servera. Piemērs ir kods 200, kas parasti tiek atgriezts, ja, atbildot klientam, nav kļūdas.
Mierīgas metodes
Zemāk redzamajā diagrammā galvenokārt parādīti visi darbības vārdi (POST, GET, PUT un DELETE) un REST API piemērs tam, ko tie nozīmēs.
Pieņemsim, ka mums ir noteikts RESTful tīmekļa pakalpojums. http://demo.guru99.com/employee . Kad klients pieprasa šo tīmekļa pakalpojumu, tas var norādīt jebkuru no parastajiem HTTP darbības vārdiem GET, POST, DELETE un PUT. Zemāk ir norādīts, kas notiktu, ja attiecīgos darbības vārdus nosūtītu klients.
- POST - Tas tiks izmantots, lai izveidotu jaunu darbinieku, izmantojot tīmekļa pakalpojumu RESTful
- GET - tas tiks izmantots, lai iegūtu visu darbinieku sarakstu, kas izmanto tīmekļa pakalpojumu RESTful
- PUT - tas tiks izmantots, lai atjauninātu visus darbiniekus, izmantojot tīmekļa pakalpojumu RESTful
- DELETE - Tas tiks izmantots, lai izdzēstu visus darbiniekus, kuri izmanto RESTful pakalpojumus
Apskatīsim tikai viena ieraksta perspektīvu. Pieņemsim, ka bija darbinieka ieraksts ar darbinieka numuru 1.
Tālāk norādītajām darbībām būtu atbilstoša nozīme.
- POST - Tas nebūtu piemērojams, jo mēs iegūstam 1. darbinieka datus, kas jau ir izveidoti.
- GET - to izmantos, lai iegūtu informāciju par darbinieku ar darbinieku Nr. 1, izmantojot tīmekļa pakalpojumu RESTful
- PUT - tas tiks izmantots, lai atjauninātu detalizētu informāciju par darbinieku ar darbinieku Nr. 1, izmantojot tīmekļa pakalpojumu RESTful
- DZĒST - Tas tiek izmantots, lai izdzēstu informāciju par darbinieku ar darbinieka nr. 1
Kāpēc mierīgs
Pārsvarā populārs kļuva populārs šādu iemeslu dēļ:
- Heterogēnas valodas un vide - tas ir viens no galvenajiem iemesliem, kas ir tāds pats kā redzējām arī SOAP.
- Tas ļauj tīmekļa lietojumprogrammām, kas ir veidotas uz dažādām programmēšanas valodām, sazināties savā starpā
- Ar pakalpojumu Restful palīdzību šīs tīmekļa lietojumprogrammas var atrasties dažādās vidēs, dažas varētu būt operētājsistēmā Windows, bet citas - Linux.
Bet galu galā neatkarīgi no tā, kāda ir vide, gala rezultātam vienmēr jābūt tādam pašam, lai viņi spētu sarunāties savā starpā. Mierīgi tīmekļa pakalpojumi piedāvā šo elastību lietojumprogrammām, kas veidotas uz dažādām programmēšanas valodām un platformām, lai sarunātos savā starpā.
Zemāk redzamajā attēlā sniegts tīmekļa lietojumprogrammas piemērs, kuram ir jārunā ar citām lietojumprogrammām, piemēram, Facebook, Twitter un Google.
Tagad, ja klienta lietojumprogrammai būtu jāstrādā ar tādām vietnēm kā Facebook, Twitter utt., Viņiem, iespējams, būtu jāzina, uz kuras valodas ir veidoti Facebook, Google un Twitter, kā arī uz kuras platformas tie ir veidoti.
Pamatojoties uz to, mēs varam uzrakstīt mūsu tīmekļa lietojumprogrammas saskarnes kodu, taču tas varētu izrādīties murgs.
Facebook, Twitter un Google atklāj savu funkcionalitāti Restful tīmekļa pakalpojumu veidā. Tas ļauj jebkurai klienta lietojumprogrammai izsaukt šos tīmekļa pakalpojumus, izmantojot REST.
- Ierīču notikums - mūsdienās mobilajām ierīcēm ir jādarbojas visam, neatkarīgi no tā, vai tā ir mobilā ierīce, piezīmjdatori vai pat automašīnu sistēmas.
Vai varat iedomāties, cik daudz pūļu jāmēģina šajās ierīcēs kodēt lietojumprogrammām, lai runātu ar parastajām tīmekļa lietojumprogrammām? Atkal Restful API var padarīt šo darbu vienkāršāku, jo, kā minēts 1. punktā, jums patiešām nav jāzina, kas ir ierīces pamatā esošais slānis.
- Visbeidzot ir mākoņa notikums - viss virzās uz mākoņu. Lietojumprogrammas lēnām pāriet uz mākoņa sistēmām, piemēram, Azure vai Amazon. Azure un Amazon nodrošina daudz API, kuru pamatā ir Restful arhitektūra. Tādējādi lietojumprogrammas tagad ir jāattīsta tā, lai tās būtu saderīgas ar mākoni. Tā kā visas mākoņa arhitektūras darbojas pēc REST principa, ir lietderīgāk tīmekļa pakalpojumus ieprogrammēt uz REST pakalpojumu bāzes arhitektūru, lai pēc iespējas labāk izmantotu mākoņa pakalpojumus.
Mierīga arhitektūra
Lietojumprogrammai vai arhitektūrai, kas tiek uzskatīta par RESTful vai REST stilu, ir šādas īpašības
- Stāvoklis un funkcionalitāte ir sadalīta sadalītajos resursos - tas nozīmē, ka katram resursam jābūt pieejamam, izmantojot parastās HTTP komandas GET, POST, PUT vai DELETE. Tātad, ja kāds vēlas iegūt failu no servera, viņam vajadzētu būt iespējai izsniegt GET pieprasījumu un iegūt failu. Ja viņi vēlas ievietot failu serverī, viņiem vajadzētu būt iespējai izdot POST vai PUT pieprasījumu. Un, visbeidzot, ja viņi vēlējās izdzēst failu no servera, viņi izsniedz DELETE pieprasījumu.
- Arhitektūra ir klients / serveris, bezvalstnieks, slāņains un atbalsta kešatmiņu -
- Klients-serveris ir tipiska arhitektūra, kurā serveris var būt tīmekļa serveris, kurā mitinās lietojumprogramma, un klients var būt tikpat vienkāršs kā tīmekļa pārlūks.
- Bezvalstnieks nozīmē, ka REST režīmā netiek uzturēts lietojumprogrammas stāvoklis.
Piemēram, ja izdzēšat resursu no servera, izmantojot komandu DELETE, nevarat sagaidīt, ka šī dzēšanas informācija tiks nodota nākamajam pieprasījumam.
Lai nodrošinātu resursa dzēšanu, jums jāizsniedz GET pieprasījums. GET pieprasījums tiks izmantots, lai vispirms iegūtu visus resursus serverī. Pēc tam vajadzēs redzēt, vai resurss tiešām ir izdzēsts.
RESTFul principi un ierobežojumi
REST arhitektūra ir balstīta uz dažām īpašībām, kas ir sīkāk izstrādātas tālāk. Jebkuram RESTful tīmekļa pakalpojumam ir jāatbilst zemāk aprakstītajām īpašībām, lai to varētu saukt par RESTful. Šīs īpašības sauc arī par dizaina principiem, kas jāievēro, strādājot ar RESTful balstītiem pakalpojumiem.
- RESTFul klients-serveris
Šī ir REST balstītas arhitektūras pamatprasība. Tas nozīmē, ka serverim būs RESTful tīmekļa pakalpojums, kas klientam nodrošinātu nepieciešamo funkcionalitāti. Klients nosūta pieprasījumu servera tīmekļa pakalpojumam. Serveris vai nu noraidīs pieprasījumu, vai arī izpildīs un sniegs klientam atbilstošu atbildi.
- Bezvalstnieks
Bezvalstnieka jēdziens nozīmē, ka klienta ziņā ir nodrošināt, vai visa nepieciešamā informācija tiek sniegta serverim. Tas ir nepieciešams, lai serveris varētu atbilstoši apstrādāt atbildi. Serveris nedrīkst uzturēt nekāda veida informāciju starp klienta pieprasījumiem. Tā ir ļoti vienkārša neatkarīga jautājumu un atbilžu secība. Klients uzdod jautājumu, serveris uz to atbild atbilstoši. Klients uzdos vēl vienu jautājumu. Serveris neatceras iepriekšējo jautājumu-atbilžu scenāriju, un uz jauno jautājumu būs jāatbild neatkarīgi.
- Kešatmiņa
Kešatmiņas jēdziena mērķis ir palīdzēt bezvalstnieka problēmai, kas tika aprakstīta pēdējā punktā. Tā kā katrs servera klienta pieprasījums pēc būtības ir neatkarīgs, dažreiz klients var vēlreiz lūgt serveri to pašu pieprasījumu. Tas ir pat tad, ja tā to jau bija lūgusi agrāk. Šis pieprasījums tiks nosūtīts serverim, un serveris sniegs atbildi. Tas palielina trafiku visā tīklā. Kešatmiņa ir klientā ieviesta koncepcija, lai saglabātu serverim jau nosūtītos pieprasījumus. Tātad, ja to pašu pieprasījumu sniedz klients, tā vietā, lai dotos uz serveri, tas pārietu uz kešatmiņu un iegūtu nepieciešamo informāciju. Tas ietaupa tīkla trafika daudzumu turp un atpakaļ no klienta uz serveri.
- Slāņveida sistēma
Slāņveida sistēmas jēdziens ir tāds, ka jebkuru papildu slāni, piemēram, starpprogrammatūras slāni, var ievietot starp klientu un faktisko serveri, kurā mitinās RESTFul tīmekļa pakalpojums (Starpprogrammatūras slānis ir vieta, kur tiek izveidota visa biznesa loģika. Tas var būt papildu pakalpojums izveidots, ar kuru klients varētu sazināties, pirms viņš zvana uz tīmekļa pakalpojumu.). Bet šī slāņa ieviešanai jābūt caurspīdīgai, lai tā netraucētu mijiedarbību starp klientu un serveri.
- Saskarne / vienots līgums
Šī ir pamatmetode, kā RESTful tīmekļa pakalpojumiem vajadzētu darboties. RESTful pamatā darbojas HTTP tīmekļa slānī un izmanto tālāk norādītos galvenos darbības vārdus, lai strādātu ar resursiem serverī
- POST - lai izveidotu resursu serverī
- IEGŪT - lai izgūtu resursu no servera
- PUT - lai mainītu resursa stāvokli vai atjauninātu to
- DELETE - lai noņemtu vai izdzēstu resursu no servera
Izveidojiet savu pirmo mierīgo tīmekļa pakalpojumu ASP.NET
Šajā REST API apmācībā mēs uzzināsim, kā izveidot mierīgu tīmekļa pakalpojumu ASP.NET:
Tīmekļa pakalpojumus var izveidot dažādās valodās. Uz REST balstītu pakalpojumu izveidošanai var izmantot daudzas integrētas izstrādes vides.
Šajā RESTful API piemērā mēs izveidosim savu REST lietojumprogrammu .Net, izmantojot Visual Studio. Mūsu piemērā Restful tīmekļa pakalpojumiem mēs atdarināsim šādu REST pakalpojumu piemēru.
Mums būs pieejams mierīgs tīmekļa pakalpojums, kas darbosies ar zemāk norādīto datu kopu.
Zemāk redzamais datu kopums ir REST API piemērs tam, ka uzņēmumam ir pakļauta apmācība, kas viņiem ir, pamatojoties uz Tutorialid.
Pamācība | TutorialName |
0 | Masīvi |
1 | Rindas |
2 | Skursteņi |
Mūsu REST API apmācības piemērā mēs ieviesīsim tālāk norādītos mierīgos darbības vārdus.
- IEGŪT Pamācību - Kad klients izsauc šo Restful API, viņam tiks izsniegts viss apmācību komplekts, kas pieejams no tīmekļa pakalpojuma.
- GET Tutorial / Tutorialid - Kad klients izsauc šo Restful API, viņam tiks piešķirts Tutorial nosaukums, pamatojoties uz klienta nosūtīto Tutorialid.
- POST Tutorial / Tutorialname - kad klients izsauc šo Restful API, klients iesniegs pieprasījumu ievietot Tutorialname. Pēc tam tīmekļa pakalpojums pievienos iesniegto apmācības nosaukumu kolekcijai.
- DELETE Tutorial / Tutorialid - Kad klients izsauc šo Restful API, klients iesniegs pieprasījumu dzēst Tutorialname, pamatojoties uz Tutorialid. Pēc tam tīmekļa pakalpojums no kolekcijas izdzēsīs iesniegto apmācības nosaukumu.
Izpildīsim šīs RESTful API apmācības darbības, lai izveidotu savus pirmos RESTful tīmekļa pakalpojumus, kas veic iepriekšminēto ieviešanu.
1. solis . Pirmais solis ir tukšas Asp.Net tīmekļa lietojumprogrammas izveide. Programmā Visual Studio 2013 noklikšķiniet uz izvēlnes opcijas Fails-> Jauns projekts.
Noklikšķinot uz opcijas Jauns projekts, Visual Studio jums parādīs vēl vienu dialoglodziņu, lai izvēlētos projekta veidu un sniegtu nepieciešamo informāciju par projektu. Tas ir izskaidrots šīs RESTful API apmācības nākamajā darbībā
2. solis) Šajā solī
- Pārliecinieties, ka vispirms izvēlaties ASP.NET tīmekļa lietojumprogrammas RESTful tīmekļa pakalpojumu C # tīmekļa veidni. Projektam jābūt šāda veida, lai izveidotu tīmekļa pakalpojumu projektu. Izvēloties šīs opcijas, Visual Studio veiks nepieciešamās darbības, lai pievienotu nepieciešamos failus, kas nepieciešami jebkurai tīmekļa lietojumprogrammai.
- Piešķiriet savam projektam nosaukumu, kas mūsu gadījumā ir piešķirts kā "Webservice.REST".
- Pēc tam norādiet vietu, kur tiks saglabāti projekta faili.
Kad tas būs izdarīts, redzēsit projekta failu, kas izveidots jūsu risinājumu pārlūkprogrammā Visual Studio 2013.
3. solis . Nākamais solis ir izveidot tīmekļa pakalpojuma failu, kuram būs RESTful tīmekļa pakalpojums
- Vispirms ar peles labo pogu noklikšķiniet uz projekta faila, kā parādīts zemāk
- Šajā solī
- Ar peles labo pogu noklikšķiniet uz projekta faila
- Izvēlieties opciju "Pievienot-> jauns vienums".
Parādītajā dialoglodziņā jums jāveic šādas darbības
- Izvēlieties opciju WCF Service (iespējots ar Ajax) - izvēlieties šāda veida failu, tas liek Visual studio pievienot dažus pamata kodus, kas palīdz izveidot RESTful tīmekļa pakalpojumu. WCF apzīmē Windows komunikācijas fondu. WCF ir bibliotēka dažādu platformu vai vienas platformas lietojumprogrammām, lai sazinātos, izmantojot dažādus protokolus, piemēram, TCP, HTTP, HTTPS. Ajax būtībā ir asinhronais JavaScript un XML. AJAX ļauj tīmekļa lapas atjaunināt asinhroni, aizkulisēs apmainoties ar nelielu datu daudzumu ar serveri.
- Pēc tam norādiet pakalpojuma nosaukumu, kas mūsu gadījumā ir TutorialService.
- Visbeidzot, noklikšķiniet uz pogas Pievienot, lai pievienotu pakalpojumu risinājumam.
4. solis . Nākamais solis ir faktiski veikt konfigurācijas izmaiņas, lai šis projekts varētu pabeigt darbu ar RESTful tīmekļa pakalpojumiem. Tas prasa veikt izmaiņas failā Web.config . Šis fails parādās tajā pašā logā kā Webservice projekta fails. Failā Web.config ir visas konfigurācijas, kas tīmekļa lietojumprogrammai liek darboties tā, kā vajadzētu. Veiktās izmaiņas ļauj lietojumprogrammai sūtīt un saņemt datus kā tīru RESTful tīmekļa pakalpojumu.
- Lai atvērtu kodu, noklikšķiniet uz faila Web.config
- Atrodiet rindai
- Mainiet līniju uz
5. solis . Nākamais solis šajā RESTful API apmācībā ir mūsu koda pievienošana ieviešanai. Viss zemāk minētais kods ir jāuzraksta failā TutorialService.svc
- Pirmais bits ir pievienot kodu, lai attēlotu mūsu datus, kas tiks izmantoti mūsu programmā. Tāpēc mums būs virkņu mainīgo saraksts ar vērtībām "Masīvi", "Rindas" un "Kaudzes". Tas būs apmācību nosaukums, kas pieejams, izmantojot mūsu mitināšanas tīmekļa pakalpojumu.
namespace Webservice.REST{[ServiceContract(Namespace = "")][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowedpublic class TutorialService{private static Listlst = new List (new String[] {"Arrays","Queues","Stacks"});
6. solis. Tālāk mēs definēsim kodu mūsu GET metodei. Šis kods atradīsies arī tajā pašā TutorialService.svc failā. Šis kods darbosies ikreiz, kad no mūsu pārlūkprogrammas izsauksim pakalpojumu.
Tālāk minēto metodi izmantos, lai izpildītu zemāk minēto scenāriju
- Ja lietotājs vēlas visu pieejamo apmācību sarakstu, lai to paveiktu, ir jāuzraksta zemāk redzamais kods.
[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;}
Koda skaidrojums: -
- Pirmā koda rinda ir vissvarīgākā. To izmanto, lai noteiktu, kā mēs varam izsaukt šo metodi, izmantojot URL. Tātad, ja saite uz mūsu tīmekļa pakalpojumu ir http: // localhost: 52645 / TutorialService.svc un ja vietrādim URL pievienojam '/ Tutorial' kā http: // localhost: 52645 / TutorialService.svc / Tutorial , iepriekš minēto kodu tiks izsaukta. 'WebGet' atribūts ir parametrs, kas ļauj šai metodei būt RESTful metodei, lai to varētu izsaukt, izmantojot GET darbības vārdu.
- Šī koda sadaļa tiek izmantota, lai izietu mūsu virkņu sarakstu mainīgajā “lst” un atgrieztu tās visas izsaukšanas programmā.
7. solis . Tālāk redzamais kods nodrošina, ka, ja GET zvans tiek sniegts apmācības dienestam ar apmācības ID, tas atgriež atbilstošo apmācības nosaukumu, pamatojoties uz apmācības ID.
[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")]public String GetTutorialbyID(String Tutorialid){int pid;Int32.TryParse(Tutorialid, out pid);return lst[pid];}
Koda skaidrojums: -
- Pirmā koda rinda ir vissvarīgākā. To izmanto, lai noteiktu, kā mēs varam izsaukt šo metodi, izmantojot URL. Tātad, ja saite uz mūsu tīmekļa pakalpojumu ir http: // localhost: 52645 / TutorialService.svc un ja vietrādim URL pievienojam '/ Tutorial / {Tutorialid}', tad mēs varētu izsaukt tīmekļa pakalpojumu kā http: //localhost:52645/TutorialService.svc/Tutorial/1 kā piemērs. Pēc tam tīmekļa pakalpojumam būs jāatdod apmācības nosaukums, kuram bija apmācības ID Nr. 1.
- Šī koda sadaļa tiek izmantota, lai atgrieztu "Pamācības nosaukums", kuras apmācības ID ir nodots tīmekļa metodei.
- Pēc noklusējuma jāatceras, ka viss, kas pārlūkprogrammā tiek pārsūtīts uz URL, ir virkne.
- Bet jums jāatceras, ka mūsu saraksta indeksam ir jābūt veselam skaitlim, tāpēc mēs pievienojam nepieciešamo kodu, lai vispirms pārveidotu Tutorialid par veselu skaitli un pēc tam izmantotu to, lai piekļūtu mūsu saraksta indeksa pozīcijai un
- Pēc tam attiecīgi atgrieziet vērtību izsaukšanas programmā.
8. solis . Nākamais solis ir pierakstīt mūsu POST metodes kodu. Šī metode tiks izmantota vienmēr, kad mēs vēlamies pievienot virknes vērtību mūsu Pamācību sarakstam, izmantojot POST metodi. Piemēram, ja vēlaties pievienot apmācības nosaukumu “Programmatūras testēšana”, jums būs jāizmanto POST metode.
Koda skaidrojums: -
- Pirmā rinda ir atribūts 'WebInvoke', kas ir pievienots mūsu metodei. Tas ļauj metodi izsaukt, izmantojot POST zvanu. Atribūts RequestFormat un ResponseFormat ir jāmin kā JSON, jo, izliekot vērtības RESTFul tīmekļa pakalpojumā, vērtībām jābūt šajā formātā.
- Otro koda rindiņu izmanto, lai pievienotu virknes vērtību, kas tiek nodota, izmantojot POST zvanu, mūsu esošajam apmācību virkņu sarakstam.
9. solis. Visbeidzot, mēs pievienosim metodi DELETE darbībai. Šī metode tiks izmantota vienmēr, kad mēs vēlamies izdzēst esošu virknes vērtību no mūsu apmācību saraksta, izmantojot DELETE metodi.
[WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Ison,UriTemplate = "/Tutorial/{Tutorialid}", ResponseFormat = WebMessageFormat.Json,BodyStyle = WebMessageBodyStyle.Wrapped)]public void DeleteTutorial(String Tutorialid){int pid;Int32.TryParse(Tutorialid, out pid);1st.RemoveAt(pid);}
Koda skaidrojums: -
- Pirmā rinda ir atribūts 'WebInvoke', kas ir pievienots mūsu metodei. Tas ļauj metodi izsaukt, izmantojot POST zvanu. Atribūts RequestFormat un ResponseFormat ir jāmin kā JSON, jo, izliekot vērtības RESTFul tīmekļa pakalpojumā, vērtībām jābūt šajā formātā. Ņemiet vērā, ka parametrs Method tiek iestatīts uz “DELETE”. Tas nozīmē, ka vienmēr, kad mēs izdosim darbības vārdu DELETE, tiks izmantota šī metode.
- Otro koda rindiņu izmanto, lai ņemtu Tutorialid, kas nosūtīts, izmantojot DELETE zvanu, un pēc tam šo ID izdzēstu no mūsu saraksta. ( Kodā esošo funkciju Int32 izmanto, lai apmācības ID pārveidotu no virknes mainīgā uz veselu skaitli).
Palaist savu pirmo Restful tīmekļa pakalpojumu
Tagad, kad esam izveidojuši visu mūsu tīmekļa pakalpojumu iepriekš minētajā sadaļā. Apskatīsim, kā mēs varam palaist apmācības pakalpojumu, lai to varētu izsaukt no jebkura klienta.
Lai palaistu tīmekļa pakalpojumu, lūdzu, veiciet tālāk norādītās darbības
1. solis. Ar peles labo pogu noklikšķiniet uz projekta faila - Webservice.REST
2. solis) Izvēlieties izvēlnes opciju “Iestatīt kā StartUp projektu”. Tas nodrošinās, ka šis projekts tiek palaists, kad Visual Studio palaiž visu risinājumu
3. solis . Nākamais solis ir paša projekta izpilde. Tagad atkarībā no sistēmā instalētā noklusējuma pārlūka Visual Studio blakus palaišanas pogai parādīsies atbilstošs pārlūka nosaukums. Mūsu gadījumā tiek parādīts Google Chrome. Vienkārši noklikšķiniet uz šīs pogas.
Izeja: -
Kad projekts ir palaists, varat pārlūkot sadaļu TutorialService.svc / Tutorial, un jūs iegūsiet zemāk redzamo rezultātu.
Iepriekš minētajā izvadā
- Var redzēt, ka pārlūkprogramma izsauc darbības vārdu “GET” un tīmekļa pakalpojumā izpilda metodi “GetAllTutorial”. Šis modulis tiek izmantots, lai parādītu visas mūsu tīmekļa pakalpojuma sniegtās apmācības.
Pārbauda savu pirmo Restful tīmekļa pakalpojumu
Iepriekš minētajā sadaļā mēs jau esam redzējuši, kā izmantot pārlūkprogrammu, lai izpildītu darbības vārdu “GET” un izsauktu “GetAllTutorial”.
- Tagad izmantosim pārlūkprogrammu, lai izpildītu šādu lietošanas gadījumu scenāriju.
GET Tutorial / Tutorialid - Kad klients izsauc šo Restful API, viņam tiks piešķirts Tutorial nosaukums, pamatojoties uz klienta nosūtīto Tutorialid
Pārlūkprogrammā pievienojiet virkni / 1 aiz apmācības vārda URL. Nospiežot ievadīšanas pogu, iegūsiet zemāk redzamo rezultātu
Tagad jūs redzēsiet rindu iznākumu, kas faktiski atbilst numuram 1 mūsu apmācības virkņu sarakstā. Tas nozīmē, ka metode “GetTutorialbyID” tagad tiek izsaukta no mūsu tīmekļa pakalpojuma. Tas arī parāda, ka 1 vērtība tiek veiksmīgi nodota caur pārlūku mūsu tīmekļa pakalpojumam un mūsu metodei, un tāpēc pārlūkprogrammā mēs iegūstam pareizo atbilstošo vērtību "Rindas".
- Pēc tam patērēsim mūsu tīmekļa pakalpojumu, izpildot tālāk minēto scenāriju. Lai to izdarītu, jums jāinstalē rīks ar nosaukumu "Fiddler", kas ir bezmaksas lejupielādējams vietnes rīks.
POST Tutorial / Tutorialname - kad klients izsauc šo Restful API, klients iesniegs pieprasījumu ievietot Tutorialname. Pēc tam tīmekļa pakalpojums pievienos iesniegto apmācības nosaukumu kolekcijai.
Palaidiet Filddler rīku un veiciet tālāk norādītās darbības.
- Pārejiet uz komponista sadaļu. To izmanto, lai izveidotu pieprasījumus, kurus var iesniegt jebkurā tīmeklī
pieteikumu.
- Pārliecinieties, vai pieprasījuma veids ir “POST” un tiek trāpīts pareizs URL, kas mūsu gadījumā būtu http: // localhost: 52645 / TutorialService.svc / Tutorial
- Pārliecinieties, vai Content-Type ir atzīmēts kā application / json. Atcerieties, ka mūsu POST pieprasījuma metode mūsu tīmekļa pakalpojumā pieņem tikai Json stila datus, tāpēc mums ir jānodrošina, ka tas tiek norādīts, kad sūtām pieprasījumu mūsu lietojumprogrammai.
- Visbeidzot, mums jāievada savi dati. Atcerieties, ka mūsu POST metode pieņem parametru ar nosaukumu “str”. Tāpēc šeit mēs norādām, ka mēs vēlamies savai Pamācību nosaukumu kolekcijai pievienot vērtību ar nosaukumu "Koki" un pārliecināties, ka tā ir marķēta str mainīgā nosaukumā.
Visbeidzot, vienkārši noklikšķiniet uz pogas Izpildīt fiddler. Tas nosūtīs pieprasījumu tīmekļa pakalpojumam, lai POST datus "Koki" mūsu tīmekļa pakalpojumam.
Tagad, kad mēs pārlūkojam Mācību URL, lai parādītu visas virknes mūsu Mācību sarakstā, jūs redzēsiet, ka ir arī vērtība "Koki". Tas parāda, ka POST pieprasījums tīmekļa pakalpojumam tika veiksmīgi izpildīts un ka tas tika veiksmīgi pievienots mūsu apmācību sarakstam.
- Pēc tam patērēsim mūsu tīmekļa pakalpojumu, izpildot tālāk minēto scenāriju. Lai to izdarītu, mums jāizmanto arī fiddler rīks
DELETE Tutorial / Tutorialid - Kad klients izsauc šo Restful API, klients iesniegs pieprasījumu dzēst Tutorialname, pamatojoties uz Tutorialid. Pēc tam tīmekļa pakalpojums no kolekcijas izdzēsīs iesniegto apmācības nosaukumu.
Palaidiet Filddler rīku un veiciet tālāk norādītās darbības
- Pārejiet uz komponista sadaļu. To izmanto, lai izveidotu pieprasījumus, kurus var iesniegt jebkurā tīmeklī
pieteikumu.
- Pārliecinieties, vai pieprasījuma veids ir "DZĒST", un tiek trāpīts pareizs URL, kuram mūsu gadījumā jābūt http: // localhost: 52645 / TutorialService.svc / Tutorial . Pārliecinieties, vai ID, kas tiek izmantots, lai izdzēstu virkni sarakstā, kas kā parametrs tiek nosūtīts, izmantojot URL. Mūsu REST piemērā mēs sūtām vienu, tāpēc tas izdzēsīs otro mūsu kolekcijas elementu "Rindas".
Visbeidzot, vienkārši noklikšķiniet uz pogas Izpildīt fiddler. Tas nosūtīs pieprasījumu tīmekļa pakalpojumam, lai DZĒSTU mūsu tīmekļa pakalpojumam datus "Rindas".
Tagad, kad mēs pārlūkojam apmācības URL, lai parādītu visas virknes mūsu apmācību sarakstā, jūs pamanīsit, ka vērtības "Rindas" vairs nav.
Tas parāda, ka DELETE pieprasījums tīmekļa pakalpojumam tika veiksmīgi izpildīts. Elements indeksā Nr. 1 mūsu apmācības virkņu sarakstā tika veiksmīgi izdzēsts.
Kopsavilkums
- REST nozīmē REpresentational State Transfer. REST tiek izmantots, lai izveidotu vieglus, uzturamus un mērogojamus tīmekļa pakalpojumus.
- Arvien vairāk lietojumprogrammu pāriet uz arhitektūru Restful. Tas ir tāpēc, ka tagad daudzi cilvēki izmanto mobilās ierīces un plašākas lietojumprogrammas, kas pāriet uz mākoņu.
- Galvenie REST aspekti ir serverī esošie resursi un GET, POST, PUT un DELETE darbības vārdi, kurus var izmantot darbam ar šiem resursiem.
- Visual Studio un.Net var izmantot, lai izveidotu mierīgus tīmekļa pakalpojumus.
- Pārbaudot tīmekļa pakalpojumus POST un PUT, jums jāizmanto cits rīks, ko sauc par fiddler, ko var izmantot, lai nosūtītu POST un PUT pieprasījumus serverim.