RESTful žiniatinklio paslaugų pamoka su REST API pavyzdžiu

Turinys:

Anonim

Kas yra „Restful Web Services“?

„Restful Web Services“ yra lengva, prižiūrima ir keičiama paslauga, sukurta remiantis „REST“ architektūra. Rami žiniatinklio tarnyba, atskleiskite savo programos API saugiai, vienodai ir be pilietybės skambinančiam klientui. Skambinantis klientas gali atlikti iš anksto nustatytas operacijas naudodamasis „Restful“ paslauga. Pagrindinis REST protokolas yra HTTP. REST reiškia REpresentational State Transfer.

Šioje REST API pamokoje sužinosite

  • Pailsėti svarbiausi elementai
  • Ramūs metodai
  • Kodėl ramus
  • Rami architektūra
  • „RestFul“ principai ir apribojimai
  • Sukurkite savo pirmąją „Restful“ žiniatinklio paslaugą ASP.NET
  • Paleiskite savo pirmąją „Restful“ žiniatinklio paslaugą
  • Testuojate savo pirmąją „Restful“ žiniatinklio paslaugą

Pailsėti svarbiausi elementai

„REST“ žiniatinklio paslaugos nuo pat jos įkūrimo nuėjo ilgą kelią. 2002 m. Interneto konsorciumas išleido WSDL ir SOAP žiniatinklio paslaugų apibrėžimą. Tai suformavo interneto paslaugų diegimo standartą.

2004 m. Interneto konsorciumas taip pat išleido papildomo standarto, vadinamo RESTful, apibrėžimą. Per pastaruosius porą metų šis standartas tapo gana populiarus. Jį naudoja daugelis populiarių svetainių visame pasaulyje, įskaitant „Facebook“ ir „Twitter“.

„REST“ yra būdas pasiekti tam tikroje aplinkoje esančius išteklius. Pavyzdžiui, galite turėti serverį, kuriame galėtų būti svarbūs dokumentai, paveikslėliai ar vaizdo įrašai. Visa tai yra išteklių pavyzdys. Jei klientas, tarkime, žiniatinklio naršyklei reikalingas kuris nors iš šių išteklių, jis turi nusiųsti serveriui užklausą dėl prieigos prie šių išteklių. Dabar „REST“ paslaugos apibrėžia būdą, kaip galima pasiekti šiuos išteklius.

Pagrindiniai RESTful įgyvendinimo elementai yra šie:

  1. Ištekliai - pirmasis pagrindinis elementas yra pats išteklius. Tarkime, kad žiniatinklio programa serveryje turi kelių darbuotojų įrašus. Tarkime, kad žiniatinklio programos URL yra http://demo.guru99.com . Dabar, norint pasiekti darbuotojo įrašų šaltinį per REST paslaugas, galima išduoti komandą http://demo.guru99.com/employee/1 - ši komanda nurodo interneto serveriui pateikti išsamią informaciją apie darbuotoją, kurio darbuotojo numeris yra 1.

  2. Prašyti veiksmažodžių - juose aprašoma, ką norite daryti su ištekliu. Naršyklė išleidžia GET veiksmažodį, kad nurodytų galinį punktą, kuriuo ji nori gauti duomenis. Tačiau yra daugybė kitų veiksmažodžių, įskaitant POST, PUT ir DELETE. Taigi pavyzdyje http://demo.guru99.com/employee/1 žiniatinklio naršyklė iš tikrųjų išleidžia GET veiksmažodį, nes nori gauti išsamią informaciją apie darbuotojo įrašą.

  3. Užklausos antraštės - tai papildomos instrukcijos, išsiųstos kartu su užklausa. Tai gali apibrėžti reikalaujamo atsakymo tipą arba išsamią prieigos teisę.

  4. Užklausos turinys - duomenys siunčiami kartu su užklausa. Duomenys paprastai siunčiami užklausoje, kai POST užklausa pateikiama REST žiniatinklio tarnyboms. POST skambučio metu klientas iš tikrųjų praneša REST žiniatinklio tarnyboms, kad nori pridėti išteklių prie serverio. Taigi užklausos įstaiga turėtų išsamią informaciją apie šaltinį, kurį reikia pridėti prie serverio.

  5. Reagavimo kūnas - tai yra pagrindinis atsakymo kūnas. Taigi mūsų RESTful API pavyzdyje, jei norėtume pateikti užklausą žiniatinklio serveryje per užklausą http://demo.guru99.com/employee/1 , žiniatinklio serveris gali pateikti XML dokumentą su visa darbuotojo informacija atsakyme Kūnas.

  6. Atsakymo būsenos kodai - tai bendrieji kodai, kurie grąžinami kartu su žiniatinklio serverio atsakymu. Pavyzdys yra kodas 200, kuris paprastai grąžinamas, jei grąžinant atsakymą klientui nėra klaidos.

Ramūs metodai

Žemiau pateiktoje diagramoje daugiausia rodomi visi veiksmažodžiai (POST, GET, PUT ir DELETE) ir REST API pavyzdys, ką jie reikštų.

Tarkime, kad mes turime RESTful interneto paslaugą, apibrėžtą toje vietoje. http://demo.guru99.com/employee . Kai klientas pateikia bet kokią užklausą šiai žiniatinklio paslaugai, jis gali nurodyti bet kurį įprastą HTTP veiksmažodį GET, POST, DELETE ir PUT. Žemiau yra tai, kas nutiktų, jei atitinkamus veiksmažodžius atsiųs klientas.

  1. POST - tai bus naudojama kuriant naują darbuotoją naudojant „RESTful“ žiniatinklio paslaugą
  2. GAUTI - tai bus naudojama norint gauti visų darbuotojų, naudojančių „RESTful“ žiniatinklio paslaugą, sąrašą
  3. PUT - tai bus naudojama norint atnaujinti visus darbuotojus, naudojančius RESTful žiniatinklio paslaugą
  4. DELETE - tai bus naudojama norint ištrinti visus darbuotojus, naudojančius „RESTful“ paslaugas

Pažvelkime tik iš vieno įrašo perspektyvos. Tarkime, buvo darbuotojo įrašas su darbuotojo numeriu 1.

Šie veiksmai turėtų savo reikšmę.

  1. POST - Tai nebūtų taikoma, nes mes gauname jau sukurtus 1 darbuotojo duomenis.
  2. GAUTI - tai bus naudojama norint gauti išsamią informaciją apie darbuotoją su darbuotoju Nr. 1, naudojantis RESTful žiniatinklio paslaugą
  3. PUT - tai bus naudojama norint atnaujinti išsamią informaciją apie darbuotoją su darbuotoju Nr. 1 naudojant „RESTful“ žiniatinklio paslaugą
  4. DELETE - Tai naudojama ištrinti darbuotojo detales su darbuotojų nėra kaip 1

Kodėl ramus

„Restful“ populiarumas dažniausiai atsirado dėl šių priežasčių:

  1. Heterogeniškos kalbos ir aplinka - tai yra viena iš pagrindinių priežasčių, kuri yra tokia pati, kaip ir SOAP.
  • Tai leidžia žiniatinklio programoms, kurios yra sukurtos įvairiomis programavimo kalbomis, bendrauti tarpusavyje
  • Naudojant „Restful“ paslaugas, šios žiniatinklio programos gali būti skirtingose ​​aplinkose, kai kurios gali būti „Windows“, o kitos - „Linux“.

Bet galų gale, nesvarbu, kokia aplinka, galutinis rezultatas visada turėtų būti toks pats, kad jie turėtų galimybę kalbėtis tarpusavyje. Ramios žiniatinklio paslaugos suteikia šį lankstumą programoms, sukurtoms įvairiomis programavimo kalbomis ir platformomis, kad būtų galima kalbėtis tarpusavyje.

Žemiau pateiktame paveikslėlyje pateikiamas žiniatinklio programos, kurioje reikalaujama kalbėtis su kitomis programomis, tokiomis kaip „Facebook“, „Twitter“ ir „Google“, pavyzdys.

Dabar, jei kliento programa turėtų dirbti su tokiomis svetainėmis kaip „Facebook“, „Twitter“ ir kt., Jie tikriausiai turės žinoti, kokia yra „Facebook“, „Google“ ir „Twitter“ kalba, taip pat ant kurios platformos jie yra sukurti.

Remdamiesi tuo, mes galime parašyti savo interneto programos sąsajos kodą, tačiau tai gali pasirodyti košmaras.

„Facebook“, „Twitter“ ir „Google“ atskleidžia savo funkciją kaip „Restful“ interneto paslaugas. Tai leidžia bet kuriai kliento programai paskambinti į šias interneto paslaugas per REST.

  1. Įrenginių įvykis - šiais laikais mobiliuosiuose įrenginiuose viskas turi veikti, nesvarbu, ar tai būtų mobilusis įrenginys, ar sąsiuviniai, ar net automobilių sistemos.

    Ar galite įsivaizduoti, kiek reikia bandyti užkoduoti programas šiuose įrenginiuose, kad būtų galima kalbėtis su įprastomis interneto programomis? Vėl „Restful“ API gali padaryti šį darbą paprastesnį, nes, kaip minėta 1 punkte, jums tikrai nereikia žinoti, kas yra pagrindinis įrenginio sluoksnis.

  2. Pagaliau yra Debesies įvykis - viskas juda į debesį. Programos pamažu pereina į debesų sistemas, pvz., „Azure“ ar „Amazon“. „Azure“ ir „Amazon“ teikia daugybę API, pagrįstų „Restful“ architektūra. Taigi dabar programas reikia kurti taip, kad jos būtų suderinamos su „Cloud“. Taigi, kadangi visos debesies pagrindu sukurtos architektūros veikia pagal REST principą, yra prasmingiau, kad žiniatinklio paslaugos būtų programuojamos pagal „REST“ paslaugomis pagrįstą architektūrą, kad būtų galima kuo geriau išnaudoti debesies pagrindu veikiančias paslaugas.

Rami architektūra

RESTful arba REST stiliaus laikoma programa ar architektūra turi šias savybes

  1. Būsena ir funkcionalumas yra suskirstyti į paskirstytus išteklius - tai reiškia, kad kiekvienas išteklius turėtų būti pasiekiamas naudojant įprastas HTTP komandas GET, POST, PUT arba DELETE. Taigi, jei kas nors norėjo gauti failą iš serverio, jis turėtų galėti išduoti GET užklausą ir gauti failą. Jei jie nori įdėti failą į serverį, jie turėtų galėti pateikti POST arba PUT užklausą. Galiausiai, jei jie norėjo ištrinti failą iš serverio, jie išrašo DELETE užklausą.
  2. Architektūra yra kliento / serverio, be pilietybės, daugiasluoksnė ir palaiko talpyklą -
  • Klientas-serveris yra tipinė architektūra, kai serveris gali būti žiniatinklio serveris, kuriame yra programa, o klientas gali būti toks pat paprastas, kaip ir interneto naršyklė.
  • Be pilietybės reiškia, kad programos būsena nėra palaikoma REST.

    Pvz., Jei ištrinate iš serverio šaltinį naudodami komandą DELETE, negalite tikėtis, kad ši ištrynimo informacija bus perduota kitai užklausai.

    Norėdami užtikrinti, kad išteklius ištrinsite, turėsite išduoti GET užklausą. GET užklausa būtų naudojama pirmiausia norint gauti visus serverio išteklius. Po to reikės pamatyti, ar iš tikrųjų ištrintas išteklius.

RESTFul principai ir apribojimai

„REST“ architektūra pagrįsta keliomis toliau aprašomomis charakteristikomis. Bet kuri „RESTful“ interneto paslauga turi atitikti žemiau pateiktas charakteristikas, kad ją būtų galima pavadinti „RESTful“. Šios savybės taip pat žinomos kaip projektavimo principai, kurių reikia laikytis dirbant su „RESTful“ pagrįstomis paslaugomis.

  1. „RESTFul“ klientas-serveris

Tai yra pats svarbiausias REST pagrįstos architektūros reikalavimas. Tai reiškia, kad serveris turės RESTful interneto paslaugą, kuri klientui suteiktų reikiamą funkciją. Klientas siunčia užklausą žiniatinklio tarnybai serveryje. Serveris arba atmetė užklausą, arba įvykdė ir pateikė klientui tinkamą atsakymą.

  1. Be pilietybės

Be pilietybės sąvoka reiškia, kad klientas turi užtikrinti, kad visa reikalinga informacija būtų pateikta serveriui. Tai reikalinga tam, kad serveris galėtų tinkamai apdoroti atsakymą. Serveris neturėtų palaikyti jokios informacijos tarp kliento užklausų. Tai labai paprasta nepriklausoma klausimų ir atsakymų seka. Klientas užduoda klausimą, serveris tinkamai į jį atsako. Klientas paklaus kito klausimo. Serveris neprisimins ankstesnio klausimo-atsakymo scenarijaus ir turės atsakyti į naują klausimą savarankiškai.

  1. Talpykla

„Cache“ koncepcija yra skirta padėti spręsti be pilietybės problemą, kuri buvo aprašyta paskutiniame punkte. Kadangi kiekviena serverio kliento užklausa yra nepriklausoma, kartais klientas gali dar kartą paprašyti serverio tos pačios užklausos. Tai, nors ji to jau buvo prašiusi anksčiau. Ši užklausa bus skirta serveriui ir serveris pateiks atsakymą. Tai padidina srautą visame tinkle. Talpykla yra kliento koncepcija, skirta saugoti užklausas, kurios jau išsiųstos į serverį. Taigi, jei klientas pateiks tą pačią užklausą, užuot eidamas į serverį, jis pateks į talpyklą ir gautų reikiamą informaciją. Tai taupo tinklo srauto iš kliento į serverį kiekį.

  1. Sluoksniuota sistema

Sluoksniuotos sistemos koncepcija yra ta, kad bet kuris papildomas sluoksnis, pvz., Tarpinės programinės įrangos sluoksnis, gali būti įterptas tarp kliento ir tikrojo serverio, kuriame yra RESTFul žiniatinklio paslauga (tarpinės programinės įrangos sluoksnis yra kuriama visa verslo logika. Tai gali būti papildoma paslauga sukurta, su kuria klientas galėtų bendrauti prieš skambindamas į žiniatinklio tarnybą.). Tačiau šio sluoksnio įvedimas turi būti skaidrus, kad jis netrukdytų kliento ir serverio sąveikai.

  1. Sąsaja / vienoda sutartis

Tai yra pagrindinė RESTful interneto paslaugų veikimo technika. „RESTful“ iš esmės veikia HTTP žiniatinklio sluoksnyje ir naudoja žemiau pateiktus pagrindinius veiksmažodžius darbui su serverio ištekliais

  • POST - Norėdami sukurti išteklių serveryje
  • GAUTI - Norėdami gauti išteklių iš serverio
  • PUT - pakeisti išteklių būseną arba ją atnaujinti
  • DELETE - pašalinti arba ištrinti iš serverio šaltinį

Sukurkite savo pirmąją „Restful“ žiniatinklio paslaugą ASP.NET

Dabar šioje REST API pamokoje sužinosime, kaip sukurti „Restful“ žiniatinklio paslaugą ASP.NET:

Žiniatinklio paslaugas galima kurti įvairiomis kalbomis. Daugybė integruotų kūrimo aplinkų gali būti naudojamos kuriant REST pagrįstas paslaugas.

Šiame „RESTful“ API pavyzdyje mes sukursime savo „REST“ programą „.Net“ naudodami „Visual Studio“. Savo pavyzdyje „Restful“ žiniatinklio paslaugoms mes imituosime šį „REST“ paslaugos pavyzdį.

Mes turėsime „Restful“ žiniatinklio paslaugą, kuri veiks toliau pateiktame duomenų rinkinyje.

Žemiau pateiktas duomenų rinkinys atspindi REST API pavyzdį, kai įmonė turi įmonę, kuri atskleidžia jų turimus vadovėlius, vadovaudamasi „Tutorialid“.

Pamoka TutorialName
0 Masyvai
1 Eilės
2 Šūsniai

Mūsų REST API mokymo pavyzdyje mes įgyvendinsime toliau pateiktus „Ramybės veiksmažodžius“.

  1. GAUTI APMOKYMĄ - kai klientas iškviečia šį „Restful“ API, jam bus suteiktas visas internetinių paslaugų prieinamų mokymo programų rinkinys.
  2. GAUTI Pamoką / Pamoką - Kai klientas iškviečia šį „Restful“ API, jam bus suteiktas Pamokos pavadinimas pagal kliento atsiųstą Mokomąją priemonę.
  3. POST Tutorial / Tutorialname - kai klientas iškviečia šį „Restful“ API, klientas pateiks užklausą įterpti pamokos pavadinimą. Tada žiniatinklio tarnyba pridės pateiktą pamokos pavadinimą prie kolekcijos.
  4. Ištrinti pamoką / pamoką - kai klientas iškviečia šį „Restful“ API, klientas pateiks prašymą ištrinti pamokos pavadinimą pagal „Tutorialid“. Tada žiniatinklio tarnyba ištrins pateiktą mokymo programos pavadinimą iš kolekcijos.

Atlikime žemiau pateiktus veiksmus šiame „RESTful“ API pamokoje, kad sukurtume savo pirmąsias „RESTful“ žiniatinklio paslaugas, kurios vykdo aukščiau nurodytą diegimą.

1 žingsnis) Pirmasis žingsnis yra sukurti tuščią „Asp.Net“ žiniatinklio programą. „Visual Studio 2013“ spustelėkite meniu parinktį Failas-> Naujas projektas.

Kai spustelėsite parinktį Naujas projektas, „Visual Studio“ suteiks jums kitą dialogo langą, kuriame galėsite pasirinkti projekto tipą ir pateikti reikiamą projekto informaciją. Tai paaiškinta kitame šios RESTful API mokymo programos veiksme

2 žingsnis) Šiame žingsnyje

  1. Pirmiausia įsitikinkite, kad ASP.NET žiniatinklio programoje pasirinkite RESTful žiniatinklio paslaugų C # žiniatinklio šabloną. Projektas turi būti tokio tipo, kad būtų galima sukurti interneto paslaugų projektą. Pasirinkusi šias parinktis, „Visual Studio“ atliks būtinus veiksmus, kad pridėtų reikiamus failus, kurių reikalauja bet kuri žiniatinklio programa.
  2. Nurodykite savo projekto pavadinimą, kuris mūsų atveju buvo suteiktas kaip „Webservice.REST“.
  3. Tada įsitikinkite, kad nurodėte vietą, kurioje bus saugomi projekto failai.

Kai tai padarysite, pamatysite projekto failą, sukurtą jūsų sprendimų naršyklėje „Visual Studio 2013“.

3 žingsnis) Kitas žingsnis yra sukurti žiniatinklio paslaugos failą, kuriame bus RESTful žiniatinklio paslauga

  1. Pirmiausia dešiniuoju pelės mygtuku spustelėkite projekto failą, kaip parodyta žemiau
  1. Šiame žingsnyje
    1. Dešiniuoju pelės mygtuku spustelėkite projekto failą
    2. Pasirinkite parinktį „Pridėti-> naujas elementas“.

Atsidariusiame dialogo lange turite atlikti šiuos veiksmus

  1. Pasirinkite „WCF Service“ parinktį (įgalinta „Ajax“) - Pasirinkite tokio tipo failą, todėl „Visual Studio“ pridės pagrindinį kodą, kuris padės sukurti RESTful žiniatinklio paslaugą. WCF reiškia „Windows Communication Foundation“. WCF yra biblioteka, skirta įvairių platformų ar tos pačios platformos programoms bendrauti per įvairius protokolus, tokius kaip TCP, HTTP, HTTPS. „Ajax“ iš esmės yra asinchroninis „JavaScript“ ir XML. AJAX leidžia tinklalapius atnaujinti asinchroniškai, keičiantis nedideliais duomenų kiekiais su serveriu užkulisiuose.
  2. Tada nurodykite paslaugos pavadinimą, kuris mūsų atveju yra „TutorialService“.
  3. Galiausiai spustelėkite mygtuką Pridėti, kad pridėtumėte paslaugą prie sprendimo.

4 žingsnis) Kitas žingsnis - iš tikrųjų atlikti konfigūracijos pakeitimą, kad šis projektas galėtų užbaigti darbą su „RESTful“ interneto paslaugomis. Tam reikia pakeisti failą, pavadintą „ Web.config“ . Šis failas rodomas tame pačiame lange kaip ir „Webservice“ projekto failas. Faile „Web.config“ yra visos konfigūracijos, dėl kurių žiniatinklio programa veikia taip, kaip turėtų. Atliktas pakeitimas iš tikrųjų leidžia programai siųsti ir gauti duomenis kaip gryną „RESTful“ interneto paslaugą.

  1. Norėdami atidaryti kodą, spustelėkite failą „Web.config“
  1. Raskite eilutę
  1. Pakeiskite eilutę į

5 žingsnis) Kitas žingsnis šioje „RESTful“ API pamokoje yra pridėti mūsų kodą įgyvendinimui. Visas žemiau nurodytas kodas turi būti parašytas faile „TutorialService.svc“

  1. Pirmasis bitas yra pridėti kodą, kuris atspindėtų mūsų duomenis, kurie bus naudojami mūsų programoje. Taigi turėsime eilutės kintamųjų sąrašą su reikšmėmis „Masyvai“, „Eilės“ ir „Šūsniai“. Tai bus mokomųjų programų pavadinimas, kurį galite rasti naudodamiesi mūsų prieglobos žiniatinklio paslauga.
namespace Webservice.REST{[ServiceContract(Namespace = "")][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowedpublic class TutorialService{private static List  lst = new List  (new String[] {"Arrays","Queues","Stacks"});  

6 žingsnis) Toliau apibrėžsime savo GET metodo kodą. Šis kodas taip pat bus tame pačiame „TutorialService.svc“ faile. Šis kodas bus paleistas, kai skambinsime į paslaugą iš savo naršyklės.

Žemiau pateiktas metodas bus naudojamas įvykdyti žemiau nurodytą scenarijų

  • Jei vartotojas nori visų turimų mokymo programų sąrašo, norint tai pasiekti, reikės parašyti žemiau pateiktą kodą.
[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;}

Kodo paaiškinimas: -

  1. Pirmoji kodo eilutė yra svarbiausia. Jis naudojamas apibrėžti, kaip mes galime iškviesti šį metodą per URL. Taigi, jei nuoroda į mūsų žiniatinklio paslaugą yra http: // localhost: 52645 / TutorialService.svc ir jei pridėsime „/ Tutorial“ prie URL kaip http: // localhost: 52645 / TutorialService.svc / Tutorial , aukščiau pateiktą kodą bus kreipiamasi. „WebGet“ atributas yra parametras, leidžiantis, kad šis metodas būtų RESTful metodas, kad jį būtų galima iškviesti per GET veiksmažodį.
  2. Ši kodo dalis naudojama norint pereiti mūsų eilutes kintamajame „lst“ ir grąžinti jas visas į skambinančiąją programą.

7 žingsnis) Žemiau pateiktas kodas užtikrina, kad jei GET skambutis į Pamokų tarnybą su Mokymo ID, jis grąžins atitinkamą Pamokos pavadinimą pagal Mokymo ID.

[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")]public String GetTutorialbyID(String Tutorialid){int pid;Int32.TryParse(Tutorialid, out pid);return lst[pid];}

Kodo paaiškinimas: -

  1. Pirmoji kodo eilutė yra svarbiausia. Jis naudojamas apibrėžti, kaip mes galime iškviesti šį metodą per URL. Taigi, jei nuoroda į mūsų žiniatinklio paslaugą yra http: // localhost: 52645 / TutorialService.svc ir jei prie URL pridėsime „/ Tutorial / {Tutorialid}“, tada mes galėsime paskambinti žiniatinklio tarnybai kaip http: //localhost:52645/TutorialService.svc/Tutorial/1 kaip pavyzdį. Tada žiniatinklio tarnybai reikės grąžinti mokymo programos pavadinimą, turėjusį pamokos ID Nr. 1.
  2. Ši kodo dalis naudojama norint grąžinti „Pamokos pavadinimą“, kurio vadovo ID perduotas žiniatinklio metodui.
  • Pagal numatytuosius nustatymus reikia atsiminti tai, kad viskas, kas perduodama URL naršyklėje, yra eilutė.
  • Bet jūs turite prisiminti, kad mūsų sąrašo rodyklė turi būti sveikas skaičius, todėl pridedame reikiamą kodą, kad pirmiausia konvertuotume „Tutorialid“ į sveikąjį skaičių, tada jį naudosime norėdami pasiekti indekso poziciją mūsų sąraše ir
  • Tada atitinkamai grąžinkite vertę į skambinančiąją programą.

8 žingsnis) Kitas žingsnis yra užrašyti mūsų POST metodo kodą. Šis metodas bus naudojamas visada, kai norime pridėti eilutės vertę į mūsų vadovėlių sąrašą naudodami POST metodą. Pvz., Jei norite pridėti mokymo programos pavadinimą „Programinės įrangos testavimas“, turėsite naudoti POST metodą.

Kodo paaiškinimas: -

  1. Pirmoji eilutė yra atributas „WebInvoke“, kuris buvo pridėtas prie mūsų metodo. Tai leidžia pasinaudoti metodu per POST skambutį. Atributas „RequestFormat“ ir „ResponseFormat“ turi būti paminėti kaip JSON, nes skelbiant reikšmes į „RESTFul“ žiniatinklio paslaugą, vertės turi būti šio formato.
  2. Antroji kodo eilutė naudojama eilutės vertei, perduodamai per POST skambutį, pridėti prie esamo „Tutorial“ eilučių sąrašo.

9 žingsnis) Galiausiai mes pridėsime savo metodą, kaip tvarkyti DELETE operaciją. Šis metodas bus naudojamas visada, kai norime ištrinti esamą eilutės vertę iš savo Mokomųjų programų sąrašo, naudojant DELETE metodą.

[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);}

Kodo paaiškinimas: -

  1. Pirmoji eilutė yra atributas „WebInvoke“, kuris buvo pridėtas prie mūsų metodo. Tai leidžia pasinaudoti metodu per POST skambutį. Atributas „RequestFormat“ ir „ResponseFormat“ turi būti paminėti kaip JSON, nes skelbiant reikšmes į „RESTFul“ žiniatinklio paslaugą, vertės turi būti šio formato. Atminkite, kad metodo parametras nustatomas į „DELETE“. Tai reiškia, kad kai tik mes išleidžiame veiksmą DELETE, šis metodas bus naudojamas.
  2. Antroji kodo eilutė naudojama norint pašalinti „Tutorialid“, išsiųstą per DELETE skambutį, ir vėliau ištrinti tą ID iš mūsų sąrašo. ( Kodo funkcija Int32 naudojama konvertuoti mokymo programos ID iš eilutės kintamojo į sveiką skaičių).

Paleiskite savo pirmąją „Restful“ žiniatinklio paslaugą

Dabar, kai mes sukūrėme visą savo žiniatinklio paslaugą aukščiau pateiktame skyriuje. Pažiūrėkime, kaip mes galime paleisti „Tutorial“ paslaugą, kad ja galėtų pasinaudoti bet kuris klientas.

Norėdami paleisti žiniatinklio paslaugą, atlikite toliau nurodytus veiksmus

1 žingsnis) Dešiniuoju pelės mygtuku spustelėkite projekto failą - Webservice.REST

2 žingsnis) Pasirinkite meniu parinktį „Nustatyti kaip„ StartUp Project “. Tai užtikrins, kad šis projektas bus vykdomas, kai „Visual Studio“ paleidžia visą sprendimą

3 žingsnis) Kitas žingsnis yra pats projektas. Dabar, atsižvelgiant į numatytąją sistemoje įdiegtą naršyklę, tinkamas naršyklės pavadinimas bus šalia „Visual Studio“ paleidimo mygtuko. Mūsų atveju rodoma „Google Chrome“. Tiesiog spustelėkite šį mygtuką.

Išvestis: -

Kai projektas vykdomas, galite naršyti skyriuje „TutorialService.svc“ / „Tutorial“ ir gausite žemiau pateiktą išvestį.

Pirmiau pateiktame išvestyje

  • Galite pamatyti, kad naršyklė naudoja veiksmažodį „GET“ ir vykdo „GetAllTutorial“ metodą žiniatinklio tarnyboje. Šis modulis naudojamas rodyti visas mūsų žiniatinklio tarnybos pateiktas mokymo programas.

Testuojate savo pirmąją „Restful“ žiniatinklio paslaugą

Ankstesniame skyriuje mes jau matėme, kaip naudoti naršyklę, norint įvykdyti veiksmažodį „GET“ ir iškviesti „GetAllTutorial“.

  1. Dabar naudokimės naršykle, kad įvykdytume šį naudojimo atvejo scenarijų.

GAUTI APMOKYMO / APAMOKYMO ID - Kai klientas iškviečia šį „Restful“ API, jam bus suteiktas pamokos pavadinimas pagal kliento atsiųstą mokymo programą.

Naršyklėje pridėkite eilutę / 1 po žodžiu Pamoka URL. Paspaudę mygtuką Enter, gausite žemiau pateiktą išvestį

Dabar pamatysite eilių išvestį, kuri iš tikrųjų atitinka skaičių 1 mūsų pamokų eilučių sąraše. Tai reiškia, kad „GetTutorialbyID“ metodas dabar yra naudojamas iš mūsų žiniatinklio paslaugos. Tai taip pat rodo, kad 1 reikšmė sėkmingai perduodama per naršyklę mūsų žiniatinklio tarnybai ir mūsų metodui, todėl naršyklėje gauname teisingą atitinkamą „Eilių“ vertę.

  1. Toliau suvartokime savo žiniatinklio paslaugą vykdydami žemiau pateiktą scenarijų. Tam reikia įdiegti įrankį, vadinamą „Fiddler“, kuris yra nemokamas atsisiunčiamas įrankis iš svetainės.

POST Tutorial / Tutorialname - kai klientas iškviečia šį „Restful“ API, klientas pateiks užklausą įterpti pamokos pavadinimą. Tada žiniatinklio tarnyba pridės pateiktą pamokos pavadinimą prie kolekcijos.

Paleiskite „Filddler“ įrankį ir atlikite toliau nurodytus veiksmus;

  1. Eikite į kompozitoriaus skyrių. Tai naudojama kuriant užklausas, kurias galima pateikti bet kuriame žiniatinklyje

    taikymas.

  2. Įsitikinkite, kad užklausos tipas yra „POST“ ir pataikomas teisingas URL, kuris mūsų atveju turėtų būti http: // localhost: 52645 / TutorialService.svc / Tutorial
  3. Įsitikinkite, kad „Content-Type“ pažymėta kaip application / json. Atminkite, kad mūsų POST užklausos metodas mūsų žiniatinklio tarnyboje priima tik „Json“ stiliaus duomenis, todėl turime užtikrinti, kad tai bus nurodyta, kai siunčiame užklausą savo programai.
  4. Galiausiai turime įvesti savo duomenis. Atminkite, kad mūsų POST metodas priima parametrą, vadinamą „str“. Taigi čia mes nurodome, kad norime pridėti vertę, pavadintą „Medžiai“, į savo „Tutorial“ pavadinimų rinkinį ir užtikrinti, kad ji būtų pažymėta prie str kintamojo pavadinimo.

Galiausiai tiesiog spustelėkite mygtuką „Vykdyti“ smuikininke. Tai išsiųs užklausą žiniatinklio tarnybai, kad POST duomenis „Medžiai“ pateiktų mūsų žiniatinklio tarnybai.

Dabar, kai mes naršome po mokymo programos URL, kad būtų rodomos visos eilutės, esančios mūsų pamokų sąraše, pamatysite, kad taip pat yra „Medžių“ vertė. Tai rodo, kad POST užklausa žiniatinklio tarnybai buvo sėkmingai įvykdyta ir kad ji sėkmingai įtraukta į mūsų pamokų sąrašą.

  1. Toliau suvartokime savo žiniatinklio paslaugą vykdydami žemiau pateiktą scenarijų. Tam taip pat turime naudoti smuikininko įrankį

Ištrinti pamoką / pamoką - kai klientas iškviečia šį „Restful“ API, klientas pateiks prašymą ištrinti pamokos pavadinimą pagal „Tutorialid“. Tada žiniatinklio tarnyba ištrins pateiktą mokymo programos pavadinimą iš kolekcijos.

Paleiskite „Filddler“ įrankį ir atlikite toliau nurodytus veiksmus

  1. Eikite į kompozitoriaus skyrių. Tai naudojama kuriant užklausas, kurias galima pateikti bet kuriame žiniatinklyje

    taikymas.

  2. Įsitikinkite, kad užklausos tipas yra „DELETE“ ir yra teisingas URL, kuris mūsų atveju turėtų būti http: // localhost: 52645 / TutorialService.svc / Tutorial . Įsitikinkite, kad ID, naudojamas norint pašalinti eilutę sąraše, siunčiamu per URL kaip parametrą. Mūsų REST pavyzdyje siunčiame 1, todėl bus ištrintas 2 -asis mūsų kolekcijos elementas „Eilės“.

Galiausiai tiesiog spustelėkite mygtuką „Vykdyti“ smuikininke. Tai žiniatinklio tarnybai išsiųs prašymą IŠTRINTI duomenis „Eilės“ mūsų žiniatinklio tarnybai.

Dabar, kai mes naršysime iki mokymo programos URL, kad būtų rodomos visos eilutės mūsų pamokų sąraše, pastebėsite, kad „Eilių“ vertės nebėra.

Tai rodo, kad „DELETE“ užklausa žiniatinklio tarnybai buvo sėkmingai įvykdyta. „Tutorial“ eilučių sąraše esantis rodyklės Nr. 1 elementas buvo sėkmingai ištrintas.

Santrauka

  • REST reiškia REpresentational State Transfer. „REST“ naudojama kurti lengvo, prižiūrimo ir keičiamo pobūdžio interneto paslaugas.
  • Vis daugiau ir daugiau programų pereina į „Restful“ architektūrą. Taip yra todėl, kad dabar daug žmonių naudojasi mobiliaisiais įrenginiais ir įvairesnėmis programomis, judančiomis į debesį.
  • Pagrindiniai REST aspektai yra serveryje esantys ištekliai ir GET, POST, PUT ir DELETE veiksmažodžiai, kuriuos galima naudoti dirbant su šiais resursais.
  • „Visual Studio“ ir.Net galima naudoti kuriant „Restful“ žiniatinklio paslaugas.
  • Tikrindami POST ir PUT žiniatinklio paslaugas, turite naudoti kitą įrankį, vadinamą smuiku, kuris gali būti naudojamas POST ir PUT užklausų nusiųsti į serverį.