Mikä on rauhallinen verkkopalvelu?
Restful Web Services on kevyt, ylläpidettävä ja skaalautuva palvelu, joka perustuu REST-arkkitehtuuriin. Rauhallinen verkkopalvelu, paljasta sovellusliittymäsi suojatulla, yhtenäisellä ja kansalaisuudettomalla tavalla soittavalle asiakkaalle. Soittava asiakas voi suorittaa ennalta määritettyjä toimintoja Restful-palvelun avulla. REST: n taustalla oleva protokolla on HTTP. REST on lyhenne sanoista REpresentational State Transfer.
Tässä REST API -opetusohjelmassa opit-
- RESTful avainelementit
- Rauhalliset menetelmät
- Miksi rauhallinen
- Rauhallinen arkkitehtuuri
- RestFul-periaatteet ja rajoitukset
- Luo ensimmäinen rauhallinen verkkopalvelu ASP.NET: ssä
- Suorita ensimmäinen Restful-verkkopalvelusi
- Testataan ensimmäistä Restful-verkkopalvelua
RESTful avainelementit
REST-verkkopalvelut ovat todellakin kulkeneet pitkälle sen perustamisesta lähtien. Vuonna 2002 verkkokonsortio oli julkaissut WSDL- ja SOAP-verkkopalvelujen määritelmän. Tämä muodosti standardin verkkopalvelujen toteuttamiselle.
Vuonna 2004 verkkokonsortio julkaisi myös RESTful-nimisen lisästandardin määritelmän. Muutaman viime vuoden aikana tästä standardista on tullut varsin suosittu. Ja sitä käyttävät monet suosituimmat verkkosivustot ympäri maailmaa, mukaan lukien Facebook ja Twitter.
REST on tapa käyttää resursseja, jotka sijaitsevat tietyssä ympäristössä. Sinulla voi olla esimerkiksi palvelin, joka voi isännöidä tärkeitä asiakirjoja, kuvia tai videoita. Kaikki nämä ovat esimerkkejä resursseista. Jos asiakas, sanotaan, että selain tarvitsee jotain näistä resursseista, sen on lähetettävä palvelimelle pyyntö käyttää näitä resursseja. Nyt REST-palvelut määrittelevät tavan, jolla näitä resursseja voidaan käyttää.
RESTful-toteutuksen pääelementit ovat seuraavat:
-
Resurssit - Ensimmäinen avainelementti on itse resurssi. Oletetaan, että palvelimen verkkosovelluksessa on useita työntekijöitä. Oletetaan, että verkkosovelluksen URL-osoite on http://demo.guru99.com . Nyt päästäkseen työntekijätietolähteeseen REST-palvelujen kautta voidaan antaa komento http://demo.guru99.com/employee/1 - Tämä komento käskee verkkopalvelinta antamaan työntekijän tiedot, jonka työntekijän numero on 1.
-
Pyydä verbejä - Nämä kuvaavat mitä haluat tehdä resurssilla. Selain antaa GET-verbi ohjeistaa päätelaitetta, jonka haluaa saada tietoja. Saatavilla on kuitenkin monia muita verbejä, kuten POST, PUT ja DELETE. Joten esimerkin http://demo.guru99.com/employee/1 tapauksessa verkkoselain todella antaa GET-verbin, koska se haluaa saada työntekijätietueen tiedot.
-
Pyyntöotsikot - Nämä ovat lisäohjeita, jotka lähetetään pyynnön mukana. Nämä voivat määritellä vaadittavan vastauksen tyypin tai valtuutustiedot.
-
Request Body - Tiedot lähetetään pyynnön mukana. Tiedot lähetetään yleensä pyynnössä, kun POST-pyyntö tehdään REST-verkkopalveluille. POST-puhelussa asiakas itse kertoo REST-verkkopalveluille haluavansa lisätä resurssin palvelimeen. Näin ollen pyynnön rungolla olisi yksityiskohdat resurssista, joka on lisättävä palvelimeen.
-
Response Body - Tämä on vastauksen pääosa. Joten RESTful-sovellusliittymäesimerkissämme, jos kysytään verkkopalvelimelta pyynnön kautta http://demo.guru99.com/employee/1 , verkkopalvelin saattaa palauttaa XML-asiakirjan, joka sisältää kaikki työntekijän tiedot Vastauksessa Runko.
-
Vasteen tilakoodit - Nämä koodit ovat yleisiä koodeja, jotka palautetaan verkkopalvelimen vastauksen mukana. Esimerkki on koodi 200, joka palautetaan normaalisti, jos vastausta asiakkaalle palautettaessa ei ole virheitä.
Rauhalliset menetelmät
Alla oleva kaavio näyttää enimmäkseen kaikki verbit (POST, GET, PUT ja DELETE) ja REST API -esimerkin siitä, mitä ne tarkoittavat.
Oletetaan, että meillä on RESTful-verkkopalvelu määritelty sijainnissa. http://demo.guru99.com/employee . Kun asiakas pyytää pyyntöä tälle verkkopalvelulle, se voi määrittää minkä tahansa tavallisista HTTP-verbeistä GET, POST, DELETE ja PUT. Alla on mitä tapahtuisi, jos asiakas lähettäisi vastaavat verbit.
- POST - Tätä käytetään uuden työntekijän luomiseen RESTful-verkkopalvelua käyttämällä
- GET - Tätä käytetään luettelon saamiseen kaikista työntekijöistä, jotka käyttävät RESTful-verkkopalvelua
- PUT - Tätä käytetään päivittämään kaikki työntekijät, jotka käyttävät RESTful-verkkopalvelua
- POISTA - Tätä käytetään kaikkien RESTful-palveluita käyttävien työntekijöiden poistamiseen
Katsotaanpa vain yhden levyn näkökulmasta. Oletetaan, että työntekijätiedot olivat työntekijän numerolla 1.
Seuraavilla toimilla olisi vastaava merkitys.
- POST - Tätä ei voida soveltaa, koska haemme jo luotujen työntekijän 1 tietoja.
- GET - Tätä käytetään tiedon saamiseksi työntekijästä, jonka työntekijä on 1, käyttäen RESTful-verkkopalvelua
- PUT - Tätä käytetään päivittämään työntekijän tiedot työntekijällä nro 1 käyttämällä RESTful-verkkopalvelua
- POISTA - Tätä käytetään poistamaan työntekijän tiedot, joiden työntekijä on 1
Miksi rauhallinen
Restful tuli suosioon enimmäkseen seuraavista syistä:
- Heterogeeniset kielet ja ympäristöt - Tämä on yksi perussyistä, joka on sama kuin olemme nähneet myös SOAP: lla.
- Sen avulla eri ohjelmointikielille rakennetut verkkosovellukset voivat olla yhteydessä toisiinsa
- Restful-palveluiden avulla nämä verkkosovellukset voivat asua eri ympäristöissä, jotkut voivat olla Windowsissa ja toiset Linuxissa.
Mutta loppujen lopuksi, riippumatta ympäristöstä, lopputuloksen tulisi aina olla sama, että heidän pitäisi pystyä puhumaan keskenään. Rauhalliset verkkopalvelut tarjoavat tämän joustavuuden sovelluksille, jotka on rakennettu useille ohjelmointikielille ja alustoille keskustelemaan keskenään.
Alla olevassa kuvassa on esimerkki verkkosovelluksesta, joka vaatii puhumista muiden sovellusten, kuten Facebook, Twitter ja Google, kanssa.
Jos asiakassovelluksen olisi työskenneltävä esimerkiksi Facebookin, Twitterin jne. Kanssa, heidän on todennäköisesti tiedettävä, mihin kieleen Facebook, Google ja Twitter on rakennettu, ja myös alustalle, jolle ne on rakennettu.
Tämän perusteella voimme kirjoittaa verkkosovelluksemme liitäntäkoodin, mutta tämä voi osoittautua painajaiseksi.
Facebook, Twitter ja Google paljastavat toimintansa Restful-verkkopalvelujen muodossa. Tämä sallii minkä tahansa asiakassovelluksen soittaa näihin verkkopalveluihin REST-yhteyden kautta.
- Laitteiden tapahtuma - Nykyään kaiken on toimittava mobiililaitteissa, olipa kyseessä sitten mobiililaite, kannettavat tietokoneet tai jopa autojärjestelmät.
Voitteko kuvitella, kuinka paljon vaivaa on kokeilla koodata näiden laitteiden sovelluksia keskustelemaan tavallisten verkkosovellusten kanssa? Jälleen Restful API: t voivat tehdä tästä työstä yksinkertaisemman, koska kuten kohdassa 1 mainittiin, sinun ei todellakaan tarvitse tietää, mikä on laitteen taustakerros.
- Viimeinkin pilven tapahtuma - kaikki siirtyy pilveen. Sovellukset siirtyvät hitaasti pilvipohjaisiin järjestelmiin, kuten Azureen tai Amazoniin. Azure ja Amazon tarjoavat paljon API: ia, jotka perustuvat Restful-arkkitehtuuriin. Siksi sovelluksia on nyt kehitettävä siten, että ne tehdään yhteensopiviksi pilven kanssa. Joten koska kaikki pilvipohjaiset arkkitehtuurit toimivat REST-periaatteen mukaisesti, on järkevämpää, että verkkopalvelut ohjelmoidaan REST-palvelupohjaiseen arkkitehtuuriin, jotta pilvipohjaisia palveluita voidaan hyödyntää parhaalla mahdollisella tavalla.
Rauhallinen arkkitehtuuri
RESTful- tai REST-tyyliseksi katsotulla sovelluksella tai arkkitehtuurilla on seuraavat ominaisuudet
- Tila ja toiminnallisuus on jaettu hajautettuihin resursseihin - Tämä tarkoittaa, että jokaisen resurssin tulisi olla käytettävissä tavallisten HTTP-komentojen GET, POST, PUT tai DELETE kautta. Joten jos joku haluaa saada tiedoston palvelimelta, hänen on voitava antaa GET-pyyntö ja saada tiedosto. Jos he haluavat laittaa tiedoston palvelimelle, heidän on voitava joko lähettää POST- tai PUT-pyyntö. Ja lopuksi, jos he halusivat poistaa tiedoston palvelimelta, he lähettävät POISTA-pyynnön.
- Arkkitehtuuri on asiakas / palvelin, valtioton, kerrostettu ja tukee välimuistia -
- Asiakaspalvelin on tyypillinen arkkitehtuuri, jossa palvelin voi olla sovellusta isännöivä web-palvelin, ja asiakas voi olla yhtä yksinkertainen kuin verkkoselain.
- Tilaton tarkoittaa, että sovelluksen tilaa ei ylläpidetä REST-tilassa.
Esimerkiksi, jos poistat resurssin palvelimelta DELETE-komennolla, et voi odottaa, että poistotiedot välitetään seuraavaan pyyntöön.
Resurssin poistamisen varmistamiseksi sinun on annettava GET-pyyntö. GET-pyyntöä käytetään kaikkien palvelimen resurssien saamiseen ensin. Minkä jälkeen täytyy nähdä, onko resurssi todella poistettu.
RESTFul-periaatteet ja rajoitukset
REST-arkkitehtuuri perustuu muutamiin alla kuvattuihin ominaisuuksiin. Kaikkien RESTful-verkkopalvelujen on oltava alla olevien ominaisuuksien mukaisia, jotta sitä voidaan kutsua RESTful-palveluksi. Nämä ominaisuudet tunnetaan myös suunnitteluperiaatteina, joita on noudatettava työskenneltäessä RESTful-pohjaisten palvelujen kanssa.
- RESTFul-asiakas-palvelin
Tämä on REST-pohjaisen arkkitehtuurin perusedellytys. Se tarkoittaa, että palvelimella on RESTful-verkkopalvelu, joka tarjoaisi asiakkaalle tarvittavat toiminnot. Asiakas lähettää pyynnön palvelimen verkkopalvelulle. Palvelin joko hylkää pyynnön tai noudattaa sitä ja antaa asiakkaalle riittävän vastauksen.
- Valtaton
Kansattomuuden käsite tarkoittaa, että asiakkaan on varmistettava, että kaikki vaaditut tiedot toimitetaan palvelimelle. Tätä vaaditaan, jotta palvelin pystyy käsittelemään vastauksen asianmukaisesti. Palvelimen ei pidä ylläpitää minkäänlaista tietoa asiakkaan pyyntöjen välillä. Se on hyvin yksinkertainen riippumaton kysymys-vastausjärjestys. Asiakas esittää kysymyksen, palvelin vastaa siihen asianmukaisesti. Asiakas kysyy toisen kysymyksen. Palvelin ei muista edellistä kysymys-vastausskenaariota, ja sen on vastattava uuteen kysymykseen itsenäisesti.
- Kätkö
Välimuistikonseptin on tarkoitus auttaa viimeisessä kohdassa kuvattua valtiottomuuden ongelmaa. Koska jokainen palvelinasiakaspyyntö on luonteeltaan riippumaton, asiakas saattaa joskus pyytää palvelimelta saman pyynnön uudelleen. Näin on, vaikka se oli jo pyytänyt sitä aiemmin. Tämä pyyntö menee palvelimelle ja palvelin antaa vastauksen. Tämä lisää liikennettä verkon yli. Välimuisti on asiakaskoneessa toteutettu konsepti palvelimelle jo lähetettyjen pyyntöjen tallentamiseksi. Joten jos asiakas antaa saman pyynnön palvelimelle menemisen sijaan, se menee välimuistiin ja saa tarvittavat tiedot. Tämä säästää edestakaisen verkkoliikenteen määrää asiakkaalta palvelimelle.
- Kerroksinen järjestelmä
Kerroksisen järjestelmän käsite on, että mikä tahansa lisäkerros, kuten väliohjelmakerros, voidaan sijoittaa asiakkaan ja todellisen RESTFul-verkkopalvelua isännöivän palvelimen väliin (Väliohjelmistokerros luodaan koko liiketoimintalogiikka. Tämä voi olla lisäpalvelu jonka kanssa asiakas voi olla vuorovaikutuksessa ennen kuin se soittaa verkkopalveluun.). Tämän kerroksen käyttöönoton on kuitenkin oltava läpinäkyvä, jotta se ei häiritse asiakkaan ja palvelimen välistä vuorovaikutusta.
- Liitäntä / yhtenäinen sopimus
Tämä on RESTful-verkkopalvelujen toiminnan perusta. RESTful toimii periaatteessa HTTP-verkkokerroksessa ja käyttää alla olevia avainsanoja palvelimen resurssien kanssa
- POST - Resurssin luominen palvelimelle
- GET - Resurssin noutaminen palvelimelta
- PUT - Resurssin tilan muuttaminen tai päivittäminen
- POISTA - Voit poistaa tai poistaa resurssin palvelimelta
Luo ensimmäinen rauhallinen verkkopalvelu ASP.NET: ssä
Tässä REST-sovellusliittymän opetusohjelmassa opimme luomaan rauhallisen verkkopalvelun ASP.NET: ssä:
Verkkopalveluja voidaan luoda useilla kielillä. REST-pohjaisten palvelujen luomiseen voidaan käyttää monia integroituja kehitysympäristöjä.
Tässä RESTful API -esimerkissä aiomme luoda REST-sovelluksemme .Net-verkkoon Visual Studion avulla. Esimerkissämme Restful-verkkopalveluista aiomme jäljitellä seuraavaa REST-palveluesimerkkiä.
Meillä on Restful-verkkopalvelu, joka toimii alla olevien tietojen kanssa.
Seuraava tietojoukko edustaa REST-sovellusliittymäesimerkkiä yrityksestä, jolla on yritys, joka paljastaa opetusohjelman, jonka heillä on opetusohjelman perusteella.
Tutorialid | TutorialName |
0 | Taulukot |
1 | Jonot |
2 | Pinot |
REST API -opetusohjelmassa aiomme toteuttaa alla olevat levolliset verbit.
- GET-opetusohjelma - Kun asiakas käyttää tätä Restful-sovellusliittymää, hänelle annetaan koko verkkopalvelusta saatavilla oleva opetusohjelma.
- GET Tutorial / Tutorialid - Kun asiakas kutsuu tämän Restful API: n, hänelle annetaan opetusohjelman nimi asiakkaan lähettämän Tutorialidin perusteella.
- POST-opetusohjelma / opetusohjelman nimi - Kun asiakas kutsuu tämän Restful-sovellusliittymän, asiakas lähettää pyynnön lisätä opetusohjelman nimi. Verkkopalvelu lisää sitten lähetetyn opetusohjelman nimen kokoelmaan.
- POISTA Opetusohjelma / Tutorialid - Kun asiakas kutsuu tämän Restful API: n, asiakas lähettää pyynnön poistaa opetusohjelman nimi Tutorialid-tunnuksen perusteella. Verkkopalvelu poistaa sitten lähetetyn opetusohjelman nimen kokoelmasta.
Seuraamalla tämän RESTful-sovellusliittymän opetusohjelman alla olevia vaiheita luodaan ensimmäiset RESTful-verkkopalvelumme, joka suorittaa yllä olevan toteutuksen.
Vaihe 1) Ensimmäinen vaihe on luoda tyhjä Asp.Net-verkkosovellus. Napsauta Visual Studio 2013: ssä valikkovaihtoehtoa Tiedosto-> Uusi projekti.
Kun napsautat Uusi projekti -vaihtoehtoa, Visual Studio antaa sinulle uuden valintaikkunan projektityypin valitsemiseksi ja tarvittavien yksityiskohtien antamiseksi projektista. Tämä selitetään tämän RESTful API -opetusohjelman seuraavassa vaiheessa
Vaihe 2) Tässä vaiheessa
- Varmista ensin, että valitset ASP.NET-verkkosovelluksen RESTful-verkkopalvelujen C # -verkkomallin. Projektin on oltava tämän tyyppinen verkkopalveluprojektin luomiseksi. Valitsemalla tämän vaihtoehdon Visual Studio suorittaa tarvittavat vaiheet lisätäksesi tarvittavat tiedostot, joita kaikki verkkopohjaiset sovellukset edellyttävät.
- Anna projektillesi nimi, joka meidän tapauksessamme on annettu nimellä "Webservice.REST".
- Varmista sitten, että annat sijainnin, johon projektitiedostot tallennetaan.
Kun olet valmis, näet projektitiedoston, joka on luotu Visual Studio 2013: n ratkaisuohjelmaasi.
Vaihe 3) Seuraava vaihe on luoda verkkopalvelutiedosto, jolla on RESTful-verkkopalvelu
- Ensin napsauta hiiren kakkospainikkeella projektitiedostoa alla olevan kuvan mukaisesti
- Tässä vaiheessa
- Napsauta hiiren kakkospainikkeella projektitiedostoa
- Valitse vaihtoehto "Lisää-> uusi kohde".
Näyttöön tulevassa valintaikkunassa sinun on suoritettava seuraava
- Valitse vaihtoehto WCF-palvelu (Ajax-yhteensopiva) - Valitse tämän tyyppinen tiedosto. Se saa Visual-studion lisäämään peruskoodia, joka auttaa luomaan RESTful-verkkopalvelun. WCF on lyhenne sanoista Windows Communication Foundation. WCF on kirjasto eri alustojen tai saman alustan sovelluksille kommunikoimaan eri protokollien, kuten TCP, HTTP, HTTPS, kautta. Ajax on periaatteessa asynkroninen JavaScript ja XML. AJAX mahdollistaa verkkosivujen päivittämisen asynkronisesti vaihtamalla pieniä määriä tietoja palvelimen kanssa kulissien takana.
- Seuraavaksi anna palvelulle nimi, joka on meidän tapauksessa TutorialService.
- Napsauta lopuksi Lisää-painiketta lisätäksesi palvelun ratkaisuun.
Vaihe 4) Seuraava askel on todella tehdä kokoonpanomuutos, jotta tämä projekti voi suorittaa työn RESTful-verkkopalveluiden kanssa. Tämä edellyttää Web.config- nimisen tiedoston muuttamista . Tämä tiedosto näkyy samassa ikkunassa kuin Webservice-projektitiedosto. Tiedosto Web.config sisältää kaikki kokoonpanot, jotka saavat verkkosovelluksen toimimaan niin kuin sen pitäisi. Tehty muutos antaa sovelluksen tosiasiallisesti lähettää ja vastaanottaa tietoja puhtaana RESTful-verkkopalveluna.
- Napsauta Web.config-tiedostoa avataksesi koodin
- Etsi riville
- Vaihda riviksi
Vaihe 5) Tämän RESTful-sovellusliittymän opetusohjelman seuraava vaihe on koodin lisääminen toteutusta varten. Kaikki alla mainitut koodit on kirjoitettava TutorialService.svc-tiedostoon
- Ensimmäinen bitti on lisätä koodi edustamaan tietoja, joita käytetään ohjelmassa. Joten meillä on luettelo merkkijonomuuttujista, joiden arvot ovat "Taulukot", "Jonot" ja "Pinot". Tämä edustaa opetusohjelmien nimeä, joka on saatavana isännöintipalvelumme kautta.
namespace Webservice.REST{[ServiceContract(Namespace = "")][AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowedpublic class TutorialService{private static Listlst = new List (new String[] {"Arrays","Queues","Stacks"});
Vaihe 6) Seuraavaksi määritämme koodin GET-menetelmällemme. Tämä koodi sijaitsee myös samassa TutorialService.svc-tiedostossa. Tämä koodi suoritetaan aina, kun soitamme palveluun selaimeltamme.
Alla olevaa menetelmää käytetään täyttämään alla mainittu skenaario
- Jos käyttäjä haluaa luettelon kaikista käytettävissä olevista opetusohjelmista, alla oleva koodi on kirjoitettava tämän suorittamiseksi.
[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;}
Koodin selitys: -
- Ensimmäinen koodirivi on tärkein. Sitä käytetään määrittämään, miten voimme kutsua tätä menetelmää URL-osoitteen kautta. Joten jos linkki verkkopalveluumme on http: // localhost: 52645 / TutorialService.svc ja jos liitämme '/ Tutorial' URL-osoitteeseen nimellä http: // localhost: 52645 / TutorialService.svc / Tutorial , yllä oleva koodi käytetään. 'WebGet' -attribuutti on parametri, jonka avulla tämä menetelmä voi olla RESTful-menetelmä, jotta siihen voidaan vedota GET-verbillä.
- Tätä koodiosaa käytetään käymään läpi merkkijonoluettelomme muuttujassa 'lst' ja palauttamaan ne kaikki kutsuvaan ohjelmaan.
Vaihe 7) Alla oleva koodi varmistaa, että jos GET-puhelu soitetaan opetuspalvelulle opetusohjelman tunnuksella, se palauttaisi vastaavan opetusohjelman nimen opetusohjelman tunnuksen perusteella.
[WebGet (UriTemplate = "/Tutorial/{Tutorialid}")]public String GetTutorialbyID(String Tutorialid){int pid;Int32.TryParse(Tutorialid, out pid);return lst[pid];}
Koodin selitys: -
- Ensimmäinen koodirivi on tärkein. Sitä käytetään määrittämään, miten voimme kutsua tätä menetelmää URL-osoitteen kautta. Joten jos linkki verkkopalveluumme on http: // localhost: 52645 / TutorialService.svc ja jos liitämme '/ Tutorial / {Tutorialid}' URL-osoitteeseen, voimme soittaa verkkopalveluun nimellä http: //localhost:52645/TutorialService.svc/Tutorial/1 esimerkkinä. Verkkopalvelun on sitten palautettava opetusohjelman nimi, jolla oli opetusohjeen tunnus # 1.
- Tätä koodiosaa käytetään palauttamaan "Opetusohjelman nimi", jonka opetusnumero on välitetty verkkomenetelmälle.
- Oletusarvoisesti on muistettava, että selaimen URL-osoitteelle välitettävä on merkkijono.
- Mutta sinun on muistettava, että luettelomme hakemiston on oltava kokonaisluku, joten lisäämme tarvittavan koodin, jotta ensin muunnetaan Tutorialid kokonaisluvuksi ja käytetään sitä sitten luettelon hakemiston sijainnin käyttämiseen ja
- Palaa sitten arvo kutsuohjelmaan vastaavasti.
Vaihe 8) Seuraava vaihe on kirjoittaa koodi POST-menetelmällemme. Tätä menetelmää käytetään aina, kun haluamme lisätä merkkijonon oppaiden luetteloon POST-menetelmän avulla. Esimerkiksi, jos haluat lisätä opetusohjelman nimen "Ohjelmistojen testaus", sinun on käytettävä POST-menetelmää.
Koodin selitys: -
- Ensimmäinen rivi on 'WebInvoke' -attribuutti, joka on liitetty menetelmäämme. Tämä mahdollistaa menetelmän kutsumisen POST-puhelun kautta. RequestFormat- ja ResponseFormat-attribuutit on mainittava nimellä JSON, koska kun arvoja lähetetään RESTFul-verkkopalveluun, arvojen on oltava tässä muodossa.
- Toista koodiriviä käytetään lisäämään POST-puhelun kautta välitetty merkkijonoarvo olemassa olevaan Tutorial-merkkijonoluetteloon.
Vaihe 9) Lopuksi aiomme lisätä menetelmän DELETE-operaation käsittelemiseksi. Tätä menetelmää käytetään aina, kun haluamme poistaa olemassa olevan merkkijonon arvon opetusohjelmien luettelosta POISTA-menetelmän avulla.
[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);}
Koodin selitys: -
- Ensimmäinen rivi on 'WebInvoke' -attribuutti, joka on liitetty menetelmäämme. Tämä mahdollistaa menetelmän kutsumisen POST-puhelun kautta. RequestFormat- ja ResponseFormat-attribuutit on mainittava nimellä JSON, koska kun arvoja lähetetään RESTFul-verkkopalveluun, arvojen on oltava tässä muodossa. Huomaa, että Method-parametriksi asetetaan "POISTA". Tämä tarkoittaa, että aina kun annamme DELETE-verbin, tätä menetelmää käytetään.
- Toista koodiriviä käytetään ottamaan POISTA-puhelun kautta lähetetty Tutorialid-tunnus ja poistamaan sen jälkeen tunniste luettelostamme. ( Koodin Int32- funktiota käytetään opetusohjelman tunnuksen muuntamiseen merkkijonomuuttujasta kokonaislukuksi).
Suorita ensimmäinen Restful-verkkopalvelusi
Nyt kun olemme luoneet koko verkkopalvelumme yllä olevaan osioon. Katsotaanpa, kuinka voimme suorittaa opetuspalvelun, jotta sitä voidaan kutsua miltä tahansa asiakkaalta.
Suorita verkkopalvelu seuraavasti:
Vaihe 1) Napsauta hiiren kakkospainikkeella projektitiedostoa - Webservice.REST
Vaihe 2) Valitse valikkokohta 'Aseta StartUp-projektiksi'. Tämä varmistaa, että tämä projekti suoritetaan, kun Visual Studio suorittaa koko ratkaisun
Vaihe 3) Seuraava askel on suorittaa projekti itse. Nyt järjestelmään asennetun oletusselaimen mukaan oikea selaimen nimi tulee näkyviin Visual Studion suorituspainikkeen viereen. Meidän tapauksessamme Google Chrome näkyy. Napsauta vain tätä painiketta.
Lähtö: -
Kun projekti on suoritettu, voit selata TutorialService.svc / Tutorial -osiota, niin saat alla olevan tuloksen.
Yllä olevassa tuotoksessa
- Voit nähdä, että selain vetoaa GET-verbiin ja suorittaa GetAllTutorial-menetelmän verkkopalvelussa. Tätä moduulia käytetään näyttämään kaikki verkkopalvelumme altistamat oppaat.
Testataan ensimmäistä Restful-verkkopalvelua
Edellä olevassa osassa olemme jo nähneet, kuinka selaimen avulla suoritetaan GET-verbi ja kutsutaan GetAllTutorial.
- Käytetään nyt selainta seuraavan käyttötapausskenaarion suorittamiseen.
GET Tutorial / Tutorialid - Kun asiakas kutsuu tämän Restful API: n, hänelle annetaan Tutorial-nimi asiakkaan lähettämän Tutorialid-tunnuksen perusteella
Liitä selaimessasi merkkijono / 1 URL-osoitteen Opas-sanan jälkeen. Jos painat Enter-painiketta, saat alla olevan tuloksen
Nyt näet jonojen tuotoksen, joka todella vastaa opetusmerkkijonoluettelomme numeroa 1. Tämä tarkoittaa, että GetTutorialbyID-menetelmää käytetään nyt verkkopalvelustamme. Se osoittaa myös, että arvon 1 välittäminen onnistuneesti selaimen kautta verkkopalveluumme ja menetelmäämme on, ja siksi saamme oikean vastaavan "Jonot" -arvon selaimessa.
- Seuraavaksi kulutetaan verkkopalvelumme suorittamalla alla oleva skenaario. Tätä varten sinun on asennettava Fiddler-niminen työkalu, joka on ilmainen ladattava työkalu sivustolta.
POST-opetusohjelma / opetusohjelman nimi - Kun asiakas kutsuu tämän Restful-sovellusliittymän, asiakas lähettää pyynnön lisätä opetusohjelman nimi. Verkkopalvelu lisää sitten lähetetyn opetusohjelman nimen kokoelmaan.
Suorita Filddler-työkalu ja suorita seuraavat vaiheet;
- Siirry säveltäjä-osioon. Tätä käytetään luomaan pyyntöjä, jotka voidaan lähettää mihin tahansa verkkoon
sovellus.
- Varmista, että pyyntötyyppi on "POST" ja oikea URL-osoite on osumassa, joka meidän tapauksessamme pitäisi olla http: // localhost: 52645 / TutorialService.svc / Tutorial
- Varmista, että Sisältötyyppi on merkitty sovellukseksi / json. Muista, että verkkopalvelumme POST-pyyntötapa hyväksyy vain json-tyyliset tiedot, joten meidän on varmistettava, että tämä määritetään, kun lähetämme pyynnön sovelluksellemme.
- Lopuksi meidän on syötettävä tietomme. Muista, että POST-menetelmä hyväksyy parametrin nimeltä str. Joten tässä määritämme, että haluamme lisätä "Puut" -nimisen arvon opetusohjelmien nimikokoelmaamme ja varmistaa, että se on merkitty str-muuttujan nimeen.
Napsauta lopuksi vain suorittajan painiketta viuluohjelmassa. Tämä lähettää verkkopalvelulle pyynnön POST-datan lähettämisestä verkkopalveluumme.
Kun selailemme opetusohjelman URL-osoitetta näyttääksesi kaikki opetusohjelmaluettelomme merkkijonot, näet nyt myös puiden arvon. Tämä osoittaa, että POST-pyyntö verkkopalvelulle suoritettiin onnistuneesti ja että se lisättiin onnistuneesti opetusohjelmaan.
- Seuraavaksi kulutetaan verkkopalvelumme suorittamalla alla oleva skenaario. Tätä varten meidän on myös käytettävä viulu-työkalua
POISTA Opetusohjelma / Tutorialid - Kun asiakas kutsuu tämän Restful API: n, asiakas lähettää pyynnön poistaa opetusohjelman nimi Tutorialid-tunnuksen perusteella. Verkkopalvelu poistaa sitten lähetetyn opetusohjelman nimen kokoelmasta.
Suorita Filddler-työkalu ja suorita seuraavat vaiheet
- Siirry säveltäjä-osioon. Tätä käytetään luomaan pyyntöjä, jotka voidaan lähettää mihin tahansa verkkoon
sovellus.
- Varmista, että pyyntötyyppi on "POISTA" ja oikea URL-osoite on osumassa, joka meidän tapauksessamme pitäisi olla http: // localhost: 52645 / TutorialService.svc / Tutorial . Varmista, että tunnus, jota käytetään poistamaan merkkijono URL-osoitteen kautta parametrina lähetetystä luettelosta. Meidän REST esimerkiksi, lähetämme 1 niin tämä poistaa 2 toinen osa vuoden kokoelma, joka on "Jonot".
Napsauta lopuksi vain suorittajan painiketta viuluohjelmassa. Tämä lähettää verkkopalvelulle pyynnön POISTAA datajonot verkkopalveluumme.
Kun selailemme opetusohjelman URL-osoitetta näyttääksesi kaikki opetusohjelmaluettelomme merkkijonot, huomaat, että "Jonot" -arvoa ei enää ole.
Tämä osoittaa, että DELETE-pyyntö verkkopalvelulle suoritettiin onnistuneesti. Tutorial-merkkijonoluettelon hakemistossa nro 1 oleva elementti poistettiin.
Yhteenveto
- REST on lyhenne sanoista REpresentational State Transfer. REST-tekniikkaa käytetään rakentamaan verkkopalveluja, jotka ovat kevyitä, ylläpidettäviä ja skaalautuvia.
- Yhä useammat sovellukset siirtyvät Restful-arkkitehtuuriin. Tämä johtuu siitä, että monet ihmiset käyttävät nyt mobiililaitteita ja monenlaisia sovelluksia, jotka siirtyvät pilveen.
- REST: n pääkohdat ovat palvelimella olevat resurssit ja GET-, POST-, PUT- ja DELETE-verbit, joita voidaan käyttää näiden resurssien kanssa työskentelyyn.
- Visual Studion ja.Netin avulla voidaan luoda Restful-verkkopalveluja.
- Testattaessa POST- ja PUT-verkkopalveluja sinun on käytettävä toista työkalua nimeltä fiddler, jota voidaan käyttää POST- ja PUT-pyyntöjen lähettämiseen palvelimelle.