RESTful Web Services Tutorial: Mikä on REST API esimerkillä
Mikä on Restful Web Services?
Rauhalliset verkkopalvelut on kevyt, ylläpidettävä ja skaalautuva palvelu, joka perustuu REST-arkkitehtuuriin. Rauhallinen verkkopalvelu, paljasta API sovelluksestasi turvallisella, yhtenäisellä ja tilattomalla 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.
RESTful Key Elements
REST-verkkopalvelut ovat edenneet todella pitkän tien perustamisestaan lähtien. Vuonna 2002 Web-konsortio oli julkaissut WSDL- ja SOAP-verkkopalveluiden määritelmän. Tämä muodosti standardin verkkopalveluiden toteuttamiselle.
Vuonna 2004 web-konsortio julkaisi myös määritelmän lisästandardista nimeltä RESTful. Parin viime vuoden aikana tästä standardista on tullut varsin suosittu. Ja sitä käyttävät monet suositut verkkosivustot ympäri maailmaa, mukaan lukien Facebook ja Twitter.
REST on tapa käyttää tietyssä ympäristössä olevia resursseja. Sinulla voi esimerkiksi olla palvelin, joka voi isännöidä tärkeitä asiakirjoja tai kuvia tai videoita. Kaikki nämä ovat esimerkkejä resursseista. Jos asiakas, esimerkiksi verkkoselain, tarvitsee jotakin näistä resursseista, sen on lähetettävä pyyntö palvelimelle päästäkseen näihin resursseihin. Nyt REST-palvelut määrittelevät tavan, kuinka näitä resursseja voidaan käyttää.
RESTful-toteutuksen avainelementit ovat seuraavat:
- Esittelymateriaalit – Ensimmäinen keskeinen elementti on itse resurssi. Oletetaan, että palvelimella olevassa verkkosovelluksessa on tietueita useista työntekijöistä. Oletetaan, että verkkosovelluksen URL-osoite on http://demo.guru99.com. Nyt päästäksesi työntekijätietueresurssiin REST-palvelujen kautta, voidaan antaa komento http://demo.guru99.com/employee/1 – Tämä komento käskee verkkopalvelinta antamaan sen työntekijän tiedot, jonka työntekijänumero on 1.
- Pyydä verbejä – Nämä kuvaavat, mitä haluat tehdä resurssilla. Selain antaa GET-verbin ohjeistamaan päätepistettä, jonka se haluaa saada tietoja. Saatavilla on kuitenkin monia muita verbejä, kuten POST, PUT ja DELETE. Siis esimerkin tapauksessa http://demo.guru99.com/employee/1 , selain todella antaa GET-verbin, koska se haluaa saada tiedot työntekijätietueesta.
- Pyydä otsikot – Nämä ovat pyynnön mukana lähetettyjä lisäohjeita. Ne voivat määrittää vaaditun vastauksen tyypin tai valtuutustiedot.
- Pyynnön elin – Tiedot lähetetään pyynnön mukana. Tietoja lähetetään yleensä pyynnössä, kun POST-pyyntö tehdään REST-verkkopalveluihin. POST-kutsussa asiakas itse asiassa kertoo REST-verkkopalveluille, että se haluaa lisätä resurssin palvelimeen. Näin ollen pyynnön rungolla olisi tiedot resurssista, joka on lisättävä palvelimelle.
- Response Body – Tämä on vastauksen pääosa. Joten RESTful API -esimerkissämme, jos tekisimme kyselyn verkkopalvelimelta pyynnön kautta http://demo.guru99.com/employee/1 , verkkopalvelin saattaa palauttaa XML-asiakirjan, jossa on kaikki työntekijän tiedot vastaustekstissä.
- Vastauksen tilakoodit – Nämä koodit ovat yleisiä koodeja, jotka palautetaan verkkopalvelimen vastauksen mukana. Esimerkki on koodi 200, joka palautetaan normaalisti, jos asiakkaalle palautettaessa ei tapahdu virhettä.
Rauhoittavat menetelmät
Alla oleva kaavio näyttää enimmäkseen kaikki verbit (POST, GET, PUT ja DELETE) ja REST API -esimerkin siitä, mitä ne tarkoittaisivat.
Oletetaan, että paikkaan on määritetty RESTful-verkkopalvelu. http://demo.guru99.com/employee . Kun asiakas tekee pyynnön tälle verkkopalvelulle, se voi määrittää minkä tahansa normaalin HTTP-verbien GET, POST, DELETE ja PUT. Alla on mitä tapahtuisi, jos asiakas lähettäisi vastaavat verbit.
- POST – Tällä luodaan uusi työntekijä RESTful-verkkopalvelulla
- SAA – Tällä saadaan lista kaikista RESTful-verkkopalvelua käyttävistä työntekijöistä
- PUT – Tätä käytettäisiin kaikkien RESTful-verkkopalvelua käyttävien työntekijöiden päivittämiseen
- POISTA – Tätä käytettäisiin kaikkien RESTful-palveluita käyttävien työntekijöiden poistamiseen
Katsotaanpa vain yhden levyn näkökulmasta. Oletetaan, että oli työntekijätietue, jossa työntekijän numero on 1.
Seuraavilla toimilla olisi vastaavat merkityksensä.
- POST – Tätä ei voida soveltaa, koska haemme tietoja työntekijästä 1, joka on jo luotu.
- SAA – Tätä käytettäisiin RESTful-verkkopalvelun avulla työntekijän, jonka työntekijänumero on 1, tiedot
- PUT – Tätä käytettäisiin sen työntekijän tietojen päivittämiseen, jonka työntekijänumero on 1 käyttämällä RESTful-verkkopalvelua
- POISTA – Tätä käytetään poistamaan sen työntekijän tiedot, jonka työntekijänumero on 1
Miksi Rauhallinen
Restful nousi enimmäkseen suosioon seuraavista syistä:
1. Heterogeeniset kielet ja ympäristöt – Tämä on yksi perussyistä, joka on sama kuin olemme nähneet SAIPPUA samoin.
- Sen avulla eri ohjelmointikielille rakennetut web-sovellukset voivat kommunikoida keskenään
- Restful-palvelujen avulla nämä verkkosovellukset voivat sijaita eri ympäristöissä, joista osa voi olla päällä Windows, ja muut voivat olla Linuxissa.
Mutta loppujen lopuksi, olipa ympäristö mikä tahansa, lopputuloksen tulee aina olla sama, että heidän pitäisi pystyä puhumaan toisilleen. Rauhalliset verkkopalvelut tarjoavat tämän joustavuuden eri ohjelmointikielille ja -alustoille rakennetuille sovelluksille keskustellakseen keskenään.
Alla olevassa kuvassa on esimerkki verkkosovelluksesta, jolla on vaatimus keskustella muiden sovellusten, kuten Facebookin, Twitterin ja Googlen, kanssa.
Jos asiakassovelluksen olisi nyt toimittava Facebookin, Twitterin jne. kaltaisten sivustojen kanssa, heidän olisi luultavasti tiedettävä, millä kielellä Facebook, Google ja Twitter on rakennettu ja myös mille alustalle ne on rakennettu.
Tämän perusteella voimme kirjoittaa liitäntäkoodin verkkosovelluksellemme, mutta tämä voi osoittautua painajaiseksi.
Facebook, Twitter ja Google paljastavat toiminnallisuutensa Restful-verkkopalveluiden muodossa. Tämä sallii minkä tahansa asiakassovelluksen kutsua näitä verkkopalveluita RESTin kautta.
2. Laitteiden tapahtuma – Nykyään kaiken on toimittava Puhelinnumero laitteita, olipa kyseessä sitten mobiililaite, kannettavat tietokoneet tai jopa auton järjestelmät.
Voitteko kuvitella kuinka paljon vaivaa yrittää koodata näiden laitteiden sovelluksia puhuakseen tavallisten verkkosovellusten kanssa? Jälleen Restful API:t voivat tehdä tästä työstä yksinkertaisempaa, koska kuten kohdassa 1 mainittiin, sinun ei todellakaan tarvitse tietää, mikä on laitteen taustalla oleva kerros.
3. Lopuksi on Pilven tapahtuma – Kaikki siirtyy pilveen. Sovellukset siirtyvät hitaasti pilvipohjaisiin järjestelmiin, kuten in Azure or Amazon. Azure ja Amazon tarjoavat paljon sovellusliittymiä, jotka perustuvat Restful-arkkitehtuuriin. Siksi sovelluksia on nyt kehitettävä siten, että ne ovat yhteensopivia pilven kanssa. Joten koska kaikki pilvipohjaiset arkkitehtuurit toimivat REST-periaatteella, on järkevämpää ohjelmoida verkkopalvelut REST-palvelupohjaiseen arkkitehtuuriin, jotta pilvipohjaiset palvelut hyödynnettäisiin parhaalla mahdollisella tavalla.
Rauhallinen Archirakenne
RESTful- tai REST-tyylisellä sovelluksella tai arkkitehtuurilla on seuraavat ominaisuudet
1. Tila ja toiminnallisuus on jaettu hajautettuihin resursseihin – Tämä tarkoittaa, että kaikkiin resursseihin on päästävä normaaleilla HTTP-komentoilla GET, POST, PUT tai DELETE. Joten jos joku haluaa saada tiedoston palvelimelta, hänen pitäisi pystyä lähettämään GET-pyyntö ja hankkimaan tiedosto. Jos he haluavat laittaa tiedoston palvelimelle, heidän pitäisi pystyä joko lähettämään POST- tai PUT-pyyntö. Ja lopuksi, jos he halusivat poistaa tiedoston palvelimelta, he voivat lähettää DELETE-pyynnön.
2. Arkkitehtuuri on asiakas/palvelin, tilaton, kerrostettu ja tukee välimuistia
- Client-server 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:ssä. Jos esimerkiksi poistat resurssin palvelimelta DELETE-komennolla, et voi odottaa, että poistotiedot välitetään seuraavaan pyyntöön.
Varmistaaksesi, että resurssi poistetaan, sinun on lähetettävä GET-pyyntö. GET-pyyntöä käytettäisiin ensin kaikkien palvelimen resurssien hakemiseen. Tämän jälkeen pitäisi nähdä, onko resurssi todella poistettu.
RESTFul periaatteet ja rajoitukset
REST-arkkitehtuuri perustuu muutamiin ominaisuuksiin, jotka on kuvattu alla. Minkä tahansa RESTful-verkkopalvelun on täytettävä alla olevat ominaisuudet, jotta sitä voidaan kutsua RESTfuliksi. Nämä ominaisuudet tunnetaan myös suunnitteluperiaatteina, joita on noudatettava työskennellessään RESTful-pohjaisten palveluiden kanssa.
Tämä on REST-pohjaisen arkkitehtuurin perustavanlaatuisin vaatimus. Se tarkoittaa, että palvelimella on RESTful-verkkopalvelu, joka tarjoaisi tarvittavat toiminnot asiakkaalle. Asiakas lähettää pyynnön palvelimen verkkopalveluun. Palvelin joko hylkää pyynnön tai noudattaisi ja antaisi asiakkaalle riittävän vastauksen.
- kansalaisuudeton
Tilaton käsite tarkoittaa, että asiakkaan on varmistettava, että kaikki vaaditut tiedot toimitetaan palvelimelle. Tämä on tarpeen, jotta palvelin voi käsitellä vastauksen asianmukaisesti. Palvelimen ei pitäisi säilyttää minkäänlaista tietoa asiakkaan pyyntöjen välillä. Se on hyvin yksinkertainen itsenäinen kysymys-vastaus-sarja. Asiakas kysyy kysymyksen, palvelin vastaa siihen asianmukaisesti. Asiakas kysyy toisen kysymyksen. Palvelin ei muista edellistä kysymys-vastaus-skenaariota ja sen on vastattava uuteen kysymykseen itsenäisesti.
- Kätkö
Cache-konseptin tarkoituksena on auttaa viimeisessä kohdassa kuvattuun valtiottomien ongelmaan. Koska jokainen palvelinasiakaspyyntö on luonteeltaan riippumaton, asiakas saattaa joskus pyytää palvelimelta samaa pyyntöä uudelleen. Näin on, vaikka se oli pyytänyt sitä jo aiemmin. Tämä pyyntö menee palvelimelle, ja palvelin antaa vastauksen. Tämä lisää liikennettä verkon yli. Välimuisti on asiakkaalle toteutettu konsepti, joka tallentaa palvelimelle jo lähetetyt pyynnöt. Joten jos asiakas antaa saman pyynnön, palvelimelle siirtymisen sijaan se menisi välimuistiin ja saa tarvittavat tiedot. Tämä säästää edestakaisen verkkoliikenteen määrää asiakkaalta palvelimelle.
- Kerrostettu järjestelmä
Kerrosteisen järjestelmän käsite on, että mikä tahansa lisäkerros, kuten väliohjelmistokerros, voidaan lisätä asiakkaan ja RESTFul-verkkopalvelua isännöivän varsinaisen palvelimen väliin (väliohjelmistokerros on paikka, jossa kaikki liiketoimintalogiikka luodaan. Tämä voi olla lisäpalvelu luotu, jonka kanssa asiakas voi olla vuorovaikutuksessa ennen kuin se soittaa verkkopalveluun.). Mutta tämän kerroksen käyttöönoton tulee olla läpinäkyvää, jotta se ei häiritse asiakkaan ja palvelimen välistä vuorovaikutusta.
- Käyttöliittymä / yhtenäinen sopimus
Tämä on taustalla oleva tekniikka, kuinka RESTful-verkkopalveluiden tulisi toimia. RESTful toimii periaatteessa HTTP-verkkokerroksessa ja käyttää alla olevia avainverbejä palvelimen resurssien käsittelyyn
- POST – Resurssin luominen palvelimelle
- GET – Resurssin hakeminen palvelimelta
- PUT – Resurssin tilan muuttaminen tai sen päivittäminen
- POISTA – Resurssin poistaminen palvelimelta
Luo ensimmäinen Restful-verkkopalvelusi ASP.NETissä
Nyt tässä REST API -opetusohjelmassa opimme luomaan Restful-verkkopalvelun ASP.NETissä:
Verkkopalveluita voidaan luoda useilla eri kielillä. Monia integroituja kehitysympäristöjä voidaan käyttää REST-pohjaisten palveluiden luomiseen.
Tässä RESTful API -esimerkissä aiomme luoda REST-sovelluksemme .Netissä Visual Studion avulla. Esimerkissämme Restful-verkkopalveluille aiomme emuloida seuraavaa REST-palveluesimerkkiä.
Meillä on Restful-verkkopalvelu, joka toimii alla olevilla tiedoilla.
Alla oleva tietojoukko edustaa esimerkkiä REST API -yrityksestä, joka paljastaa omat opetusohjelmansa opetusohjelman perusteella.
Tutorialid | TutorialName |
---|---|
0 | taulukot |
1 | jonot |
2 | Stacks |
REST API -opetusesimerkissämme aiomme toteuttaa alla olevat levolliset verbit.
- HANKI opetusohjelma – Kun asiakas käyttää tätä Restful-sovellusliittymää, hänelle annetaan kaikki verkkopalvelusta saatavilla olevat opetusohjelmat.
- GET Tutorial/Tutorialid – Kun asiakas käyttää tätä Restful-sovellusliittymää, hänelle annetaan opetusohjelman nimi, joka perustuu asiakkaan lähettämään Tutorialidiin.
- POST-opetusohjelma/opetusohjelman nimi – Kun asiakas käyttää tätä Restful-sovellusliittymää, asiakas lähettää pyynnön lisätä opetusohjelman nimi. Verkkopalvelu lisää sitten lähetetyn opetusohjelman nimen kokoelmaan.
- POISTA Opastus/Tutorialid– Kun asiakas käyttää tätä Restful-sovellusliittymää, asiakas lähettää Tutorialidin perusteella pyynnön poistaa Tutorialname. Verkkopalvelu poistaa sitten lähetetyn opetusohjelman nimen kokoelmasta.
Noudatetaan alla olevia vaiheita tässä RESTful API -opetusohjelmassa luodaksesi ensimmäiset RESTful-verkkopalvelumme, jotka toteuttavat yllä olevan toteutuksen.
Kuinka luoda ensimmäinen rauhallinen verkkopalvelu
Vaihe 1) Luo uusi projekti.
Ensimmäinen askel on luoda tyhjä Asp.Net Web-sovellus. Napsauta Visual Studio 2013:ssa valikkovaihtoehtoa Tiedosto-> Uusi projekti.
Kun napsautat Uusi projekti -vaihtoehtoa, Visual Studio antaa sinulle toisen valintaikkunan, jossa voit valita projektin tyypin ja antaa tarvittavat tiedot projektista. Tämä selitetään tämän RESTful API -opetusohjelman seuraavassa vaiheessa
Vaihe 2) Anna projektin nimi ja sijainti.
- Varmista, että valitset ensin RESTful-verkkopalvelut C# ASP.NET-verkkosovelluksen web-malli. Projektin on oltava tämän tyyppinen, jotta voidaan luoda verkkopalveluprojekti. Valitsemalla nämä vaihtoehdot Visual Studio suorittaa sitten tarvittavat vaiheet minkä tahansa verkkopohjaisen sovelluksen vaatimien tiedostojen lisäämiseksi.
- Anna projektillesi nimi, joka meidän tapauksessamme on annettu nimellä "Webservice.REST".
- Varmista sitten, että annat sijainti, johon projektitiedostot tallennetaan.
Kun olet valmis, näet Visual Studio 2013:n Solution Explorerissa luodun projektitiedoston.
Vaihe 3) Luo verkkopalvelutiedosto.
Seuraava askel on luoda verkkopalvelutiedosto, jossa on RESTful-verkkopalvelu
- Napsauta ensin 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 seuraavat toimet
- Valitse vaihtoehto WCF-palvelu (Ajax-yhteensopiva) – Valitse tämän tyyppinen tiedosto, se aiheuttaa Visual studio lisätäksesi peruskoodin, joka auttaa luomaan RESTful-verkkopalvelun. WCF tarkoittaa Windows Viestintä Foundation. WCF on kirjasto eri alustojen tai saman alustan sovelluksille kommunikointiin eri protokollien, kuten TCP, HTTP, HTTPS, kautta. Ajax on periaatteessa asynkroninen JavaKäsikirjoitus ja XML. AJAX mahdollistaa verkkosivujen päivityksen asynkronisesti vaihtamalla pieniä määriä tietoa kulissien takana olevan palvelimen kanssa.
- Anna seuraavaksi nimi palvelulle, joka on meidän tapauksessamme TutorialService.
- Napsauta lopuksi Lisää-painiketta lisätäksesi palvelun ratkaisuun.
Vaihe 4) Tee konfiguraatio.
Seuraava askel on itse asiassa tehdä kokoonpanomuutos, jotta tämä projekti voi viimeistellä työskentelyn RESTful-verkkopalveluiden kanssa. Tämä edellyttää muutoksen tekemistä tiedostoon nimeltä Web.config. Tämä tiedosto näkyy samassa ikkunassa kuin Webservice-projektitiedosto. Tiedosto Web.config sisältää kaikki asetukset, jotka saavat verkkosovelluksen toimimaan niin kuin sen pitääkin. Tehtävän muutoksen ansiosta sovellus voi lähettää ja vastaanottaa dataa puhtaana RESTful-verkkopalveluna.
- Avaa koodi napsauttamalla Web.config-tiedostoa
- Etsi linja
- Vaihda linja muotoon
Vaihe 5) Lisää koodimme käyttöönottoa varten.
Seuraava vaihe tässä RESTful API -opetusohjelmassa on lisätä koodimme käyttöönottoa varten. Kaikki alla mainittu koodi on kirjoitettava TutorialService.svc-tiedostoon
- Ensimmäinen bitti on lisätä koodi edustamaan tietojamme, joita käytetään ohjelmassamme. Joten meillä on luettelo merkkijonomuuttujista, joiden arvot ovat "Arrays", "Queues" ja "Stacks". Tämä edustaa opetusohjelmien nimeä, joka on saatavilla hosting-verkkopalvelumme kautta.
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"});
Vaihe 6) Määritä koodi GET-menetelmällemme.
Seuraavaksi määritämme koodin GET-menetelmällemme. Tämä koodi on myös samassa TutorialService.svc-tiedostossa. Tämä koodi toimii aina, kun soitamme palveluun selaimestamme.
Alla olevaa menetelmää käytetään alla mainitun skenaarion toteuttamiseen
- Jos käyttäjä haluaa luettelon kaikista saatavilla 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, kuinka voimme kutsua tätä menetelmää URL-osoitteen kautta. Joten jos linkki verkkopalveluumme on http://localhost:52645/TutorialService.svc ja jos liitämme '/Tutorial'-osoitteen URL-osoitteeseen as http://localhost:52645/TutorialService.svc/Tutorial , yllä oleva koodi kutsutaan. 'WebGet'-attribuutti on parametri, joka sallii tämän menetelmän olla RESTful-metodi, jotta se voidaan kutsua GET-verbin kautta.
- Tätä koodin osaa käytetään käymään läpi lst-muuttujan merkkijonoluettelomme ja palauttamaan ne kaikki kutsuvaan ohjelmaan.
Vaihe 7) Palauta tulos.
Alla oleva koodi varmistaa, että jos Tutorial-palveluun soitetaan GET-puhelu Tutorial-tunnuksella, se palauttaa 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, kuinka voimme kutsua tätä menetelmää URL-osoitteen kautta. Joten jos linkki verkkopalveluumme on http://localhost:52645/TutorialService.svc ja jos liitämme URL-osoitteeseen '/Tutorial/{Tutorialid}', voisimme kutsua verkkopalvelua nimellä http://localhost:52645/TutorialService.svc/Tutorial/1 Esimerkiksi. Verkkopalvelun olisi sitten palautettava opetusohjelman nimi, jolla oli opetusohjelman tunnus#1.
- Tätä koodin osaa käytetään palauttamaan "Opetusohjelman nimi", jonka opetusohjelman tunnus on välitetty verkkomenetelmälle.
- Oletuksena on muistettava, että se, mikä välitetään URL-osoitteeseen selaimessa, on merkkijono.
- Mutta sinun on muistettava, että luettelomme indeksin on oltava kokonaisluku, joten lisäämme tarvittavan koodin ensin muuntaaksesi Tutorialidin kokonaisluvuksi ja käyttääksesi sitä päästäksemme indeksipaikkaamme luettelossamme ja
- Palauta sitten arvo kutsuvalle ohjelmalle vastaavasti.
Vaihe 8) Kirjoita POST-menetelmän koodi.
Seuraava vaihe on kirjoittaa POST-menetelmämme koodi. Tätä menetelmää käytetään aina, kun haluamme lisätä merkkijonoarvon opetusohjelmaluetteloomme POST-menetelmän avulla. Jos esimerkiksi haluat lisätä opetusohjelman nimen "Ohjelmistostaus", 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-kutsun kautta. Attribuutit RequestFormat ja ResponseFormat on mainittava JSON-muodossa, koska lähetettäessä arvoja RESTFul-verkkopalveluun, arvojen on oltava tässä muodossa.
- Toista koodiriviä käytetään lisäämään POST-kutsun kautta välitetty merkkijonoarvo olemassa olevaan opetusmerkkijonoluetteloomme.
Vaihe 9) Lisää menetelmä DELETE-toiminnon käsittelemiseksi.
Lopuksi aiomme lisätä menetelmämme DELETE-toiminnon käsittelemiseksi. Tätä menetelmää kutsutaan aina, kun haluamme poistaa olemassa olevan merkkijonoarvon opetusohjelmaluettelostamme DELETE-menetelmän avulla.
[WebInvoke(Method = "DELETE", RequestFormat = WebMessageFormat.Json, UriTemplate = "/Tutorial/{Tutorialid}", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)] public void DeleteTutorial(String Tutorialid) { int pid; Int32.TryParse(Tutorialid, out pid); 1st.RemoveAt(pid); }
Koodin selitys: -
- Ensimmäinen rivi on 'WebInvoke'-attribuutti, joka on liitetty menetelmäämme. Tämä mahdollistaa menetelmän kutsumisen POST-kutsun kautta. Attribuutit RequestFormat ja ResponseFormat on mainittava JSON-muodossa, koska lähetettäessä arvoja RESTFul-verkkopalveluun, arvojen on oltava tässä muodossa. Huomaa, että Method-parametrin asetus on "DELETE". Tämä tarkoittaa, että aina kun annamme DELETE-verbin, tätä menetelmää vedotaan.
- Toisella koodirivillä otetaan DELETE-kutsun kautta lähetetty Tutorialid ja sen jälkeen poistetaan tämä tunnus luettelostamme. ( Int32 koodissa olevaa funktiota käytetään muuttamaan Tutorial ID merkkijonomuuttujasta kokonaisluvuksi).
Ensimmäisen Restful-verkkopalvelusi käyttäminen
Nyt kun olemme luoneet koko verkkopalvelumme yllä olevaan osioon. Katsotaanpa, kuinka voimme käyttää Tutorial-palvelua niin, että se voidaan kutsua miltä tahansa asiakkaalta.
Suorita verkkopalvelu noudattamalla alla olevia ohjeita
Vaihe 1) Napsauta hiiren kakkospainikkeella projektitiedostoa - Webservice.REST
Vaihe 2) Valitse valikosta Set as StartUp Project. Tämä varmistaa, että tämä projekti suoritetaan, kun Visual Studio suorittaa koko ratkaisun
Vaihe 3) Seuraava askel on toteuttaa itse projekti. Nyt järjestelmään asennetusta oletusselaimesta riippuen sopiva selaimen nimi tulee Visual Studion Suorita-painikkeen viereen. Meidän tapauksessamme on Google Chrome ilmestyy. Napsauta vain tätä painiketta.
Lähtö: -
Kun projekti on suoritettu, voit selata TutorialService.svc/Tutorial-osioon ja saat alla olevan tulosteen.
Yllä olevassa lähdössä
- Voit nähdä, että selain kutsuu 'GET'-verbiä ja suorittaa 'GetAllTutorial'-menetelmän verkkopalvelussa. Tätä moduulia käytetään näyttämään kaikki verkkopalvelumme paljastamat opetusohjelmat.
Testataan ensimmäistä Restful-verkkopalveluasi
Yllä olevassa osiossa olemme jo nähneet, kuinka selainta käytetään GET-verbin suorittamiseen ja GetAllTutorialin kutsumiseen.
- Suoritetaan nyt seuraava käyttötapausskenaario selaimella.
GET Tutorial/Tutorialid – Kun asiakas käynnistää tämän Restful API:n, hänelle annetaan opetusohjelman nimi asiakkaan lähettämän Tutorialidin perusteella.
Liitä selaimessa merkkijono /1 URL-osoitteessa olevan opetussanan perään. Jos painat Enter-painiketta, saat alla olevan tulosteen
Nyt näet Queues-tuloksen, joka itse asiassa vastaa lukua 1 opetusohjelmamerkkijonoluettelossamme. Tämä tarkoittaa, että 'GetTutorialbyID'-menetelmää vedetään nyt verkkopalvelustamme. Se osoittaa myös, että arvo 1 välitetään onnistuneesti selaimen kautta verkkopalveluumme ja menetelmäämme ja siksi saamme selaimeen oikean vastaavan "Jonot" arvon.
- Seuraavaksi kulutetaan verkkopalvelumme suorittamalla alla oleva skenaario. Tätä varten sinun on asennettava työkalu nimeltä "Fiddler", joka on sivustolta ladattava ilmainen työkalu.
POST Tutorial/Tutorialname – Kun asiakas käynnistää tämän Restful API:n, asiakas lähettää pyynnön lisätä opetusohjelman nimi. Verkkopalvelu lisää sitten lähetetyn opetusohjelman nimen kokoelmaan.
Suorita Filddler-työkalu ja suorita alla olevat vaiheet;
- Siirry säveltäjä-osioon. Tätä käytetään luomaan pyyntöjä, jotka voidaan lähettää mille tahansa verkkosovellukselle.
- Varmista, että pyynnön tyyppi on "POST" ja oikea URL-osoite osuu, minkä meidän tapauksessamme pitäisi olla http://localhost:52645/TutorialService.svc/Tutorial
- Varmista, että sisältötyypiksi on merkitty sovellus/json. Muista, että verkkopalvelumme POST-pyyntömenetelmä hyväksyy vain json-tyyliset tiedot, joten meidän on varmistettava, että tämä määritetään lähettäessämme pyyntöä sovelluksellemme.
- Lopuksi meidän on syötettävä tietomme. Muista, että POST-menetelmämme hyväksyy parametrin nimeltä str. Joten tässä määritämme, että haluamme lisätä arvon nimeltä "Puut" opetusohjelman nimien kokoelmaamme ja varmistaa, että se on merkitty str-muuttujan nimeen.
Napsauta lopuksi Suorita-painiketta viulussa. Tämä lähettää verkkopalvelulle pyynnön POSTAA tiedot "Puut" verkkopalveluumme.
Kun nyt selaamme opetusohjelman URL-osoitteeseen näyttääksemme kaikki opetusohjelmaluettelomme merkkijonot, näet nyt myös "Puiden" arvon. Tämä osoittaa, että POST-pyyntö verkkopalveluun suoritettiin onnistuneesti ja että se lisättiin onnistuneesti opetusohjelmaluetteloomme.
- Seuraavaksi kulutetaan verkkopalvelumme suorittamalla alla oleva skenaario. Tätä varten meidän on myös käytettävä viulutyökalua
DELETE Tutorial/Opetusohjelma – Kun asiakas käyttää tätä Restful-sovellusliittymää, asiakas lähettää pyynnön poistaa opetusohjelman nimi Tutorialidin perusteella. Verkkopalvelu poistaa sitten lähetetyn opetusohjelman nimen kokoelmasta.
Suorita Filddler-työkalu ja suorita alla olevat vaiheet
- Siirry säveltäjä-osioon. Tätä käytetään luomaan pyyntöjä, jotka voidaan lähettää mille tahansa verkkosovellukselle.
- Varmista, että pyynnön tyyppi on DELETE ja oikea URL-osoite osuu, minkä meidän tapauksessamme pitäisi olla http://localhost:52645/TutorialService.svc/Tutorial. Varmista, että id, jota käytetään poistamaan merkkijono luettelosta, joka lähetetään URL-osoitteen kautta parametrina. REST-esimerkissämme lähetämme 1, joten tämä poistaa 2nd elementti kokoelmassamme, joka on "Jonot".
Napsauta lopuksi Suorita-painiketta viulussa. Tämä lähettää verkkopalvelulle pyynnön POISTAA verkkopalvelumme "Jonot" tiedot.
Kun nyt selaamme opetusohjelman URL-osoitteeseen näyttääksemme kaikki opetusohjelmaluettelomme merkkijonot, huomaat, että "Jonot"-arvo ei ole enää läsnä.
Tämä osoittaa, että verkkopalvelun DELETE-pyyntö suoritettiin onnistuneesti. Elementti hakemistossa numero 1 opetusohjelman merkkijonoluettelossamme poistettiin onnistuneesti.
Yhteenveto
- REST on lyhenne sanoista REpresentational State Transfer. RESTiä käytetään kevyiden, ylläpidettävien ja skaalautuvien verkkopalveluiden rakentamiseen.
- Yhä useammat sovellukset siirtyvät Restful-arkkitehtuuriin. Tämä johtuu siitä, että monet ihmiset käyttävät nyt mobiililaitteita ja laajempaa valikoimaa sovelluksia, jotka siirtyvät pilveen.
- RESTin tärkeimmät osat ovat palvelimella olevat resurssit ja verbit GET, POST, PUT ja DELETE, joita voidaan käyttää näiden resurssien kanssa työskentelemiseen.
- Visual Studion ja.Netin avulla voidaan luoda Restful-verkkopalveluita.
- Kun Testaus POST- ja PUT-verkkopalveluissa, sinun on käytettävä toista työkalua nimeltä fiddler, jota voidaan käyttää POST- ja PUT-pyynnön lähettämiseen palvelimelle.