rest api tutorial rest api architecture
I den här handledningen lär vi oss om REST API, webbtjänster, arkitektur för REST API, REST API-begränsningar och hur man testar ett API med POSTMAN:
Förutsättningar: Grundläggande kunskap om webbtjänster.
Kolla upp här för att få en tydlig förståelse för webbtjänster.
Vad du kommer att lära dig:
Vad är REST API?
API är helt enkelt ett gränssnitt som används av programvarukomponenter för att kommunicera med varandra. En tjänst är en funktion som är väldefinierad, fristående och inte beror på några andra tjänster.
En webbtjänst är en typ av API, nästan alla fungerar via HTTP. När ett webb-API utvecklas med REST-arkitektur kallas det REST-webb-API.
Från och med nu finns det två typer av webbtjänster,
- TVÅL
- RESTEN
Skillnaden mellan tvål och vila
TVÅL | RESTEN |
---|---|
Vi kan endast använda XML-format för att skicka data i begäran | Vi kan ha formatet XML, JSON etc. för att skicka begäran. |
Det är ett protokoll | Det är en arkitekturstil och oberoende av vilket protokoll som helst, REST kan använda SOAP Web Services |
Det står för Simple Object Access Protocol | Det står för Representational State Transfer |
Den använder tjänstgränssnitt för att exponera affärslogik. | Den använder URI för att exponera affärslogik. |
SOAP har en strikt standard som ska följas. | Det finns ingen sådan strikt standard som nämns, följt av REST. Användaren kan dock följa få standarder när han utvecklar webbtjänster med hjälp av REST. |
Det kräver mer bandbredd. | Det är lätt. |
Det kan definiera sin egen säkerhet. | REST ärver säkerhetsåtgärderna från transporten. |
Bästa exemplet är Google, AMAZON | Bästa exemplet är YAHOO, LINKEDIN, AMAZON |
SOAP använder protokollet HTTP, SMTP etc. | REST är endast beroende av HTTP. |
Reglerna för bindande meddelande, operationer etc är skrivna i WSDL | REST följer WADL-format för att beskriva funktionalitet som erbjuds av webbtjänster |
Det är standardiserat. | REST-tjänster är icke-standardiserade. |
Det kräver mer inlärningstid på grund av sina befintliga regler, bindande etc. | Det kräver mindre tid att lära sig på grund av dess enkelhet. |
Varför välja vila över tvål?
Nedanstående punkter förklarar anledningarna till att välja REST över SOAP.
- Det är mycket bra för att utveckla och testa webb-API: er.
- REST kräver mindre bandbredd.
- Vi kan använda AJAX för de REST-baserade webb-API: erna.
- Det kräver mindre tolkning över huvudet.
- Den nyttolaststorlek som skapats av JSON är mindre i storlek.
Det finns många klienter / verktyg tillgängliga på nätet, vilket gör det möjligt för oss att konsumera RESTful webbtjänster.
Dom är:
- Brevbärare
- Advanced Rest Client
- DHC Rest-klient
- Förfrågare
- Sömnlöshet
- Assertible
- Affisch
Varför brevbärare?
- Den visar alla tillgängliga alternativ.
- Brevbäraren har en ytterligare funktion (känd som Runner).
- Användarvänligt gränssnitt och lätt att använda.
- Större grupp / medlemmar.
REST API-arkitektur
Det är främst webbens arkitektur i en programvaruarkitekturstil. Det är för distribuerade hypermediasystem. Ett RESTful API utnyttjar direkt HTTP-metoder som definieras av RFC 2616-protokollet.
Få definitioner
BRAND står för Application Programming Interface. Det är en uppsättning subrutindefinitioner, protokoll och verktyg för att bygga applikationsprogramvaran.
Webbservice är några programkoder som innehåller data / inbyggda metoder. Dessa distribueras av organisationen över Internet för att kommunicera med användare, tredjepartsapplikationer etc. För att kommunicera meddelandena används mest XML som ett meddelandesystem. XML kodar helt enkelt all kommunikation mellan användare och applikationer.
HTTP betyder Hypertext Transfer Protocol, som används av Internet. Den definierar hur meddelanden formateras och överförs och vilka åtgärder webbservrar och webbläsare vidtar som svar på olika kommandon.
Arkitektonisk stil, dessa kännetecknas av de funktioner som används för att skapa en struktur och till och med göra den unik. Stilar är av två typer: Layered och Uniform interface.
HATA : Även känd som en enhetlig resursidentifierare. Den identifierar en resurs (textdokument, bildfil etc.).
URL: Även känd som en enhetlig resurslokaliserare. Det är en delmängd av URI: erna, som inkluderar en nätverksplats.
URNA : Även känd som Uniform Resource Name är en delmängd av URI: er som innehåller ett namn inom ett visst utrymme, men ingen plats.
Till exempel,
http://elearning.com/amazon/restapi.html#books
Här, i exemplet ovan
HATA : http://elearning.com/amazon/restapi.html#posts
URL : http://elearning.com/amazon/restapi.html
URNA : elearning.com/amazon/restapi.html#posts
gratis kyrkliga programvara full version
Därför är en URL en URI som identifierar en resurs och också tillhandahåller sätten att lokalisera resursen genom att beskriva sättet att komma åt den.
Så varje webbadress kan vara en URI men det omvända är inte sant.
En RESTful-tjänst exponeras genom en Uniform Resource Locator (URL). Detta är ett logiskt namn som skiljer resursens identitet från vad som accepteras eller returneras.
Ett exempel på REST-arkitektur:
REST API-begränsningar
Ett API-gränssnitt sägs vara RESTful om det uppfyller följande begränsningar:
- Enhetligt gränssnitt: Det betyder, oavsett vilken klient vi använder, kommer grundkonceptet att implementera och använda REST-tjänsterna förbli detsamma. Alla REST API: er som utvecklats bör ha en gemensam strategi för utveckling.
- Statslös: Det betyder att ingen session ska lagras. Så lagrar inte servern någon HTTP-begäran som skickas av en klient. Därför för en server är varje HTTP-begäran en ny begäran. Oavsett hur många gånger begäran görs eller om kunden är den unika eller inte.
- Cachningsbar: Caching betyder hur ofta data och svar nås från en cache istället för servern. Begreppet cachning är tillämpligt när klientförfrågan skickas. Så prestandaförbättringen görs på klientsidan.
- Klient-server: Server och klienter är oberoende av varandra när det gäller implementering. En klient behöver bara skicka begäran URI tillsammans med eller utan autentisering. Sedan tar servern resten av steget, det är ett svar.
- Layered System: Klienten kan endast skicka begäran till servern som resurs-URI. Men sedan, innan begäran skickas till servern, finns det REST API, vilket ger oss den skiktade systemarkitekturen. Det betyder att vi kan ha API distribuerat på en server, data distribueras i en annan server och autentisering på en annan server.
- Kod på begäran (valfritt): Ibland kan en klient behöva mer än bara svaret. REST API tillåter oss att skicka en körbar kod som svar (den här körbara koden kan vara en widget eller vilken kontroll som helst). Det är dock helt valfritt om vi har aktiverat / implementerat den här funktionen.
Få fler terminologier relaterade till Rest API:
Slutpunkt : Det är referensen till en URL som accepterar webbförfrågningar. En webbtjänst kan adresseras med hjälp av slutpunktsreferens.
Till exempel, Http: // {Domain_URL} //librarygr/libraries.xml
Resurser : Det är en delmängd av slutpunkten. Normalt exponerar slutpunkter vissa objekt som kan konsumeras via webbtjänster. Resurser är specifikt den delen av ett objekt över Endpoint URI.
Till exempel, Http: // {Domain_URL} // api / pg_library / ornitologi / svan
Nyttolast : Nyttolast är den information som skickas vid POST- eller PUT-operation. Det här är den information som anges i huvuddelen av HTTP-begäran.
Nyttolaster skickas i JSON-format, Till exempel,
{ Id: 1, name:'sam', phones:({title:'mobile',number:9898989899}, {title:'home',number:8888888888}) }
Parametrar :
Vi kan skicka parametrar på två sätt.
Frågeparametrar : Användbar för att komma åt nyckel- / värdepar i URL-frågesträngen (delen efter?)
Bästa exemplet
http://jsonplaceholder.typicode.com/posts/?id=3
Sökvägsparametrar: Det är användbart att matcha en del av webbadressen som en parameter. Vi kan skicka information som en vägparameter på följande sätt: Form-data, x-www-form-urlencoded, raw, binär.
Bästa exempel:
https://api.github.com/gists/49b05378bb8920d5b4ec54efc27103e2/comments
Vad är POSTMAN?
POSTMAN är en REST Client, helt enkelt en app som levereras med Chrome-webbläsaren. Den utvecklas, med utvecklarna i åtanke för att göra API-samtalstestning enklare. Den har sin egen GUI för att skicka API-förfrågningar och läsa API-svar.
Vi kan utföra REST API-testningen både manuellt och automatiskt.
I följande avsnitt lär vi oss hur man testar Web API manuellt med POSTMAN-klient.
Hur testar man API med Postman?
Installation
Vi måste komma åt Chrome webbutik . I Chrome-webbläsaren söker du efter Postman. Klick här för att lägga till den i Chrome-knappen.
När den väl har installerats kan vi hitta POSTMAN under Chrome-appen. Klicka bara på Postman-ikonen för att öppna POSTMAN. Det tar tid att starta för första gången.
Se följande URL för att förstå hur du använder BREVBÄRARE som ett verktyg.
Förutsättningar: Internetanslutning krävs för att få åtkomst till tjänster som distribueras via webben. Vid åtkomst till de tjänster som distribueras lokalt, se till att det finns tillräckliga rättigheter, behörigheter ges till användaren som kör test över POSTMAN.
Dummy Resource URI: I denna handledning använder vi en dummy URI istället för en riktig URI. Det ger oss svaren som önskat men ändringar kan inte göras på servern.
http://jsonplaceholder.typicode.com
Navigationssteg :
# 1) När POSTMAN-appen har startat kan vi se sidan Begäran som standard.
#två) Vi kan se listan över API-samtal genom att klicka på rullgardinsmenyn. Genom att välja något av alternativen i listrutan kan vi begära API-samtal till servern.
# 3) Klicka på knappen Miljövariabel längst upp till höger på en POSTMAN. Ställ in den specifika miljön, där vi ska testa. Vi kan spara det för framtida körning.
Frågor och svar för skrivbordsstödintervju för pdf-nivå 2
# 4) Den sparade miljön kan nås från rullgardinsmenyn Miljö.
# 5) Därefter måste vi ställa in resurs-URI i den angivna rutan.
# 6) Klicka på Params-knappen bredvid fältet Resurs-URI för att ange frågeparametrar
# 7) Klicka på fliken Auktorisering, välj Auktoriseringstyp i listrutan och ställ in önskad Auktorisering eller kan helt enkelt lämna den som Ingen auktorisering.
# 8) Klicka på fliken Rubriker och ställ in önskade rubriker som innehållstyp
# 9) Klicka på fliken Kropp, välj alternativknappen för formdata. Ange nödvändiga kroppsparametrar som måste skickas tillsammans med begäran URL
# 10) Klicka på fliken Kropp, välj alternativknappen x-www-form-urlencoded. Ange nödvändiga kroppsparametrar som ska skickas som kodade, tillsammans med begäran URL
#elva) Klicka på fliken Kropp, välj alternativknappen ”rå”. Ange nödvändiga kroppsparametrar som måste skickas tillsammans med begäran URL. Detta är i verkligt JSON-format
# 12) Klicka på fliken Kropp, välj alternativknappen ”binär”. Ange nödvändiga kroppsparametrar (normalt som en fil) som ska skickas tillsammans med begäran URL.
# 13) När vi väl har konfigurerat alla detaljer som anges ovan kan vi nu skicka begäran. Vi kan också spara skicka begäran som request.json (vi kan ändra namn på begäran).
# 14) Vi kan se listan med begäranden som gjorts på vänster sidopanel under fliken Historik.
#femton) Vi kan också spara alla detaljer relaterade till begäran (URI, auktorisering, parametrar, brödtext etc.) under en befintlig samling eller en ny samling. När begäran har lagts till i samlingen kan vi exportera (dela) den och till och med importera alla befintliga samlingar.
Vi kan dela samlingen som en länk eller som ett teambibliotek med en enkel genererad kod. Vi kan alltid köra hela Collection-sviten.
Även vi kan publicera webbadressen till samlingen så att alla som har åtkomst till den publicerade webbadressen kan komma åt samlingen och konsumera de tjänster som tillhandahålls av Web API.
Det finns en funktion för att logga in på POSTMAN, som gör det möjligt för oss att lagra historik, samlingar, miljödata, lokal lagring så att vi kan spara den och få tillgång till den var som helst, när som helst efter att ha loggat in på POSTMAN.
Löpare
Den används för att köra de resurser som finns i mappen Samlingar.
hur man visar .json-filer
Slutsats
De flesta företag antar REST-arkitektoniska stil för utveckling / implementering av webbtjänster eftersom det är ett enkelt och användarvänligt gränssnitt som kräver mindre utbildning för de befintliga / nya medlemmarna i projektet. Organisationer överväger REST tillsammans med sina befintliga webbtjänster.
Läs också = >> Flask API-handledning
I nästa handledning kommer denna REST API-serie att diskutera olika typer av svarkoder, typer av REST-förfrågningar etc.
Rekommenderad läsning
- Rest API-svarskoder och typer av vilovärden
- POSTMAN-handledning: API-testning med POSTMAN
- REST API-testning med gurka med BDD-metod
- De 10 bästa API-testverktygen 2021 (SOAP och REST API-testverktyg)
- REST API-testning med Spring RestTemplate och TestNG
- Hur man automatiserar API-förfrågningar med Rest Assured och Jenkins
- Hur man skapar REST-projekt i SoapUI Pro: Handledning nr 13
- Parasoft SOAtest Tutorial: Scriptless API Testing Tool