rest api tutorial rest api architecture
In deze zelfstudie leren we over REST API, webservices, architectuur van REST API, REST API-beperkingen en hoe u een API kunt testen met POSTMAN:
Vereisten: Basiskennis van webservices.
Controleren hier om een duidelijk begrip te krijgen van webservices.
Wat je leert:
Wat is REST API?
API is gewoon een interface die door softwarecomponenten wordt gebruikt om met elkaar te communiceren. Een service is een functie die goed is gedefinieerd, op zichzelf staat en niet afhankelijk is van andere services.
Een webservice is een soort API, die bijna allemaal via HTTP werken. Wanneer een web-API wordt ontwikkeld met behulp van REST-architectuur, wordt deze REST-web-API genoemd.
Vanaf nu zijn er twee soorten webservices,
- ZEEP
- RUST UIT
Verschil tussen SOAP en REST
ZEEP | RUST UIT |
---|---|
We kunnen alleen het XML-formaat gebruiken om de gegevens in de hoofdtekst van het verzoek te verzenden | We kunnen een XML-, JSON-indeling enz. Hebben om het verzoek te verzenden. |
Het is een protocol | Het is een architectuurstijl en onafhankelijk van welk protocol dan ook, REST kan SOAP Web Services gebruiken |
Het staat voor Simple Object Access Protocol | Het staat voor Representational State Transfer |
Het gebruikt service-interfaces om bedrijfslogica bloot te leggen. | Het gebruikt URI om bedrijfslogica bloot te leggen. |
SOAP heeft een strikte norm die moet worden gevolgd. | Er wordt niet zo'n strikte standaard genoemd, gevolgd door REST. De gebruiker kan echter enkele standaarden volgen bij het ontwikkelen van een webservice met REST. |
Het vereist meer bandbreedte. | Het is lichtgewicht. |
Het kan zijn eigen veiligheid bepalen. | REST neemt de beveiligingsmaatregelen over van het transport. |
Het beste voorbeeld is Google, AMAZON | Het beste voorbeeld is YAHOO, LINKEDIN, AMAZON |
SOAP maakt gebruik van HTTP, SMTP etc. protocol | REST vertrouwt alleen op HTTP. |
De regels voor bindende berichten, bewerkingen, enz. Zijn geschreven in WSDL | REST volgt het WADL-formaat voor het beschrijven van functionaliteit die wordt aangeboden door webservices |
Het is gestandaardiseerd. | REST-services zijn niet gestandaardiseerd. |
Het vereist meer leertijd vanwege de bestaande regels, binding etc. | Het kost minder tijd om te leren vanwege zijn eenvoud. |
Waarom kiezen voor REST boven SOAP?
Onderstaande punten lichten de redenen toe om voor REST in plaats van SOAP te kiezen.
- Het is erg goed voor het ontwikkelen en testen van web-API's.
- REST vereist minder bandbreedte.
- We kunnen AJAX gebruiken voor de op REST gebaseerde web-API's.
- Het vereist minder overhead voor het parseren.
- De door JSON gecreëerde payload-grootte is kleiner.
Er zijn veel clients / tools beschikbaar via internet, waardoor we RESTful-webservices kunnen gebruiken.
Zij zijn:
- Postbode
- Geavanceerde Rest Client
- DHC Rest-client
- Aanvrager
- Slapeloosheid
- Bewijsbaar
- Poster
Waarom postbode?
- Het toont alle beschikbare opties.
- Postman heeft een extra functie (bekend als Runner).
- Gebruiksvriendelijke gebruikersinterface en gemakkelijk te gebruiken.
- Grotere gemeenschapsgroep / leden.
REST API-architectuur
Het is voornamelijk de architectuur van het web in een softwarearchitectuurstijl. Het is voor gedistribueerde hypermediasystemen. Een RESTful API maakt rechtstreeks gebruik van HTTP-methodologieën die zijn gedefinieerd door het RFC 2616-protocol.
Weinig definities
BRAND staat voor Application Programming Interface. Het is een set subroutinedefinities, protocollen en tools voor het bouwen van de applicatiesoftware.
Webservices zijn enkele programmacodes die gegevens / ingebouwde methoden bevatten. Deze worden door de organisatie via internet ingezet om te communiceren met gebruikers, applicaties van derden, etc. Voor het communiceren van de berichten wordt meestal XML als berichtensysteem gebruikt. XML codeert simpelweg alle communicatie tussen gebruikers en applicaties.
HTTP staat voor Hypertext Transfer Protocol, gebruikt door het World Wide Web. Het definieert hoe berichten worden opgemaakt en verzonden, en welke acties webservers en browsers ondernemen als reactie op verschillende opdrachten.
Architecturale stijl, deze worden gekenmerkt door de eigenschappen die worden gebruikt om een structuur te creëren en zelfs uniek te maken. Er zijn twee soorten stijlen: gelaagde en uniforme interface.
EEN HEKEL HEBBEN AAN : Ook bekend als een Uniform Resource Identifier. Het identificeert een bron (tekstdocument, afbeeldingsbestand, enz.).
URL: Ook bekend als Uniform Resource Locator. Het is een subset van de URI's, waaronder een netwerklocatie.
URN : Ook bekend als Uniform Resource Name is een subset van URI's die een naam binnen een bepaalde ruimte bevatten, maar geen locatie.
Bijvoorbeeld,
http://elearning.com/amazon/restapi.html#books
Hier, in het bovenstaande voorbeeld
EEN HEKEL HEBBEN AAN : http://elearning.com/amazon/restapi.html#posts
URL : http://elearning.com/amazon/restapi.html
URN : elearning.com/amazon/restapi.html#posts
hoe je een uitvoerbaar jar-bestand opent
Daarom is een URL een URI die een bron identificeert en ook de mogelijkheid biedt om de bron te lokaliseren door de manier te beschrijven om er toegang toe te krijgen.
Elke URL kan dus een URI zijn, maar het omgekeerde is niet waar.
Een RESTful-service wordt weergegeven via een Uniform Resource Locator (URL). Dit is een logische naam die de identiteit van de bron scheidt van wat wordt geaccepteerd of geretourneerd.
Een voorbeeld van een REST-architectuur:
REST API-beperkingen
Een API-interface is RESTful als deze aan de volgende voorwaarden voldoet:
- Uniforme interface: Het betekent dat, ongeacht welke klant we ook gebruiken, het basisconcept van het implementeren en gebruiken van de REST-services hetzelfde blijft. Alle ontwikkelde REST API's moeten een gemeenschappelijke ontwikkelingsaanpak hebben.
- Staatloos: Dit betekent dat er geen sessie moet worden opgeslagen. De server slaat dus geen HTTP-verzoek op dat door een client is verzonden. Daarom is voor een server elk HTTP-verzoek een nieuw verzoek. Het maakt niet uit hoe vaak het verzoek is gedaan of de klant de unieke is of niet.
- Cachebaar: Caching betekent hoe vaak gegevens en reacties worden geopend vanuit een cache in plaats van vanuit de server. Het concept van caching is van toepassing tijdens het verzenden van het clientverzoek. Dus de prestatieverbetering gebeurt aan de klantzijde.
- Client server: Server en Clients zijn qua implementatie onafhankelijk van elkaar. Een client hoeft de aanvraag-URI alleen samen met of zonder authenticatie te verzenden. Vervolgens neemt de server de rest van de stap, dat is een reactie.
- Gelaagd systeem: De client kan alleen het verzoek als bron-URI naar de server sturen. Maar dan, voordat het verzoek naar de server wordt verzonden, bestaat er REST API, die ons de gelaagde systeemarchitectuur biedt. Dat betekent dat we API kunnen laten implementeren op de ene server, gegevens kunnen worden geïmplementeerd op een andere server en authenticatie op een andere server.
- Code on Demand (optioneel): Soms heeft een klant meer nodig dan alleen het antwoord. REST API stelt ons in staat om een uitvoerbare code als antwoord te verzenden (deze uitvoerbare code kan een widget of een willekeurige controle zijn). Het is echter volledig optioneel of we deze functie hebben ingeschakeld / geïmplementeerd.
Nog enkele terminologieën met betrekking tot Rest API:
Eindpunt : Het is de verwijzing naar een URL die webverzoeken accepteert. Een webservice is adresseerbaar met behulp van eindpuntreferentie.
Bijvoorbeeld, Http: // {Domain_URL} //librarygr/libraries.xml
Middelen : Het is een subset van het eindpunt. Normaal gesproken stellen Endpoints enkele objecten bloot die kunnen worden gebruikt via webservices. Bronnen zijn specifiek dat gedeelte van een object over de eindpunt-URI.
Bijvoorbeeld, Http: // {Domain_URL} // api / pg_library / ornithology / swan
Laadvermogen : Payload is de informatie die wordt verzonden tijdens het uitvoeren van een POST- of PUT-bewerking. Dit zijn de gegevens die zijn opgegeven in de hoofdtekst van het HTTP-verzoek.
Payloads worden verzonden in JSON-formaat, Bijvoorbeeld,
Parameters
We kunnen parameters op twee manieren doorgeven.
Queryparameters Handig om toegang te krijgen tot sleutel / waarde-paren in de queryreeks van de URL (het deel na de?)
Beste voorbeeld
http://jsonplaceholder.typicode.com/posts/?id=3
Padparameters: Het is handig om een deel van de URL als parameter te matchen. We kunnen op de volgende manier informatie als padparameter verzenden: Form-data, x-www-form-urlencoded, raw, binary.
Beste voorbeeld:
https://api.github.com/gists/49b05378bb8920d5b4ec54efc27103e2/comments
Wat is POSTMAN?
POSTMAN is een REST-client, gewoon een app die bij de Chrome-browser wordt geleverd. Het wordt ontwikkeld, waarbij ontwikkelaars in gedachten worden gehouden om het testen van API-oproepen gemakkelijker te maken. Het heeft zijn eigen GUI voor het verzenden van de API-verzoeken en het lezen van API-antwoorden.
We kunnen de REST API-tests zowel handmatig als geautomatiseerd uitvoeren.
In de volgende sectie zullen we leren hoe u Web API handmatig kunt testen met de POSTMAN-client.
goede pop-up blocker voor chroom
Hoe API testen met Postman?
Installatie
We hebben toegang nodig tot het Chrome webshop Zoek in de Chrome-browser naar Postman. Klik hier om het toe te voegen aan de Chrome-knop.
Zodra het met succes is geïnstalleerd, kunnen we POSTMAN vinden onder de Chrome-app. Klik gewoon op het Postman-pictogram om POSTMAN te openen. Het kost tijd om voor de eerste keer te starten.
Raadpleeg de volgende URL voor informatie over het gebruik POSTBODE als gereedschap.
Voorwaarden: Een internetverbinding is vereist om toegang te krijgen tot services die via internet worden geïmplementeerd. In het geval van toegang tot de lokaal geïmplementeerde services, moet u ervoor zorgen dat er voldoende rechten zijn, privileges worden toegekend aan de gebruiker die de test uitvoert via POSTMAN.
Dummy-bron-URI: In deze zelfstudie gebruiken we een dummy-URI in plaats van een echte URI. Het geeft ons de gewenste antwoorden, maar er kunnen geen wijzigingen worden aangebracht op de server.
http://jsonplaceholder.typicode.com
Navigatiestappen
# 1) Zodra de POSTMAN-app is gestart, kunnen we standaard de aanvraagpagina zien.
#twee) We kunnen de lijst met API-aanroepen zien door op de vervolgkeuzelijst te klikken. Door een van de opties uit de vervolgkeuzelijst te selecteren, kunnen we de API-oproep naar de server vragen.
# 3) Klik op de omgevingsvariabele knop in de rechterbovenhoek van een POSTMAN. Stel de specifieke omgeving in, waar we gaan testen. We kunnen het bewaren voor toekomstige uitvoering.
# 4) De opgeslagen omgeving is toegankelijk via de vervolgkeuzelijst Omgeving.
# 5) Vervolgens moeten we de bron-URI in het gegeven vak instellen.
# 6) Klik op de knop Params naast het veld Resource URI om queryparameters op te geven
# 7) Klik op het tabblad Autorisatie, selecteer het autorisatietype uit de vervolgkeuzelijst en stel de gewenste autorisatie in of laat het gewoon op Geen autorisatie staan.
# 8) Klik op het tabblad Headers en stel de vereiste headers in, zoals content-type
# 9) Klik op het tabblad Hoofdgedeelte en selecteer het keuzerondje voor formuliergegevens. Geef de vereiste body-parameters op die samen met de verzoek-URL moeten worden verzonden
# 10) Klik op het tabblad Body en selecteer het keuzerondje x-www-form-urlencoded. Specificeer de vereiste bodyparameters die gecodeerd moeten worden verzonden, samen met de verzoek-URL
#elf) Klik op het tabblad Body en selecteer het keuzerondje ‘raw’. Geef de vereiste body-parameters op die samen met de verzoek-URL moeten worden verzonden. Dit is in echt JSON-formaat
# 12) Klik op het tabblad Hoofdgedeelte en selecteer het keuzerondje ‘binair’. Specificeer de vereiste body-parameters (normaal gesproken als een bestand) die samen met de verzoek-URL moeten worden verzonden.
# 13) Nadat we alle details zoals hierboven gespecificeerd hebben geconfigureerd, kunnen we nu het verzoek ‘Verzenden’. We kunnen het verzendverzoek ook opslaan als request.json (we kunnen de naam van het verzoek wijzigen).
hoe je een element aan een array in java toevoegt
# 14) We kunnen de lijst met gedane verzoeken zien in het linkerdeelvenster onder het tabblad Geschiedenis.
#vijftien) We kunnen ook alle details met betrekking tot het verzoek (URI, autorisatie, parameters, body, etc.) opslaan onder een bestaande collectie of een nieuwe collectie. Zodra het verzoek aan de collectie is toegevoegd, kunnen we het exporteren (delen) en zelfs een bestaande collectie importeren.
We kunnen de collectie delen als een link, of als een teambibliotheek door een eenvoudig gegenereerde code. We kunnen altijd de hele collectie-suite beheren.
Zelfs wij kunnen de collectie-URL op internet publiceren, zodat iedereen die toegang heeft tot de gepubliceerde URL, toegang heeft tot de collectie en de services van Web API kan gebruiken.
Er is een functie om in te loggen op POSTMAN, waarmee we de geschiedenis, verzamelingen, milieugegevens en lokale opslag kunnen opslaan, zodat we deze kunnen opslaan en overal en altijd toegang hebben nadat we zijn ingelogd op de POSTMAN.
Loper
Het wordt gebruikt om de bronnen uit de map Verzamelingen uit te voeren.
Gevolgtrekking
De meeste bedrijven passen de REST-architectuurstijl toe voor de ontwikkeling / implementatie van webservices omdat het een eenvoudige en gebruiksvriendelijke interface is, die minder training vereist voor de bestaande / nieuwe leden van het project. Organisaties overwegen REST samen met hun bestaande webservices.
Lees ook = >> Flask API-zelfstudie
In de volgende tutorial, deze REST API-serie, zullen we verschillende soorten responscodes, soorten REST-verzoeken, etc. bespreken.
Aanbevolen literatuur
- Rest API-antwoordcodes en soorten rustverzoeken
- POSTMAN-zelfstudie: API-testen met POSTMAN
- REST API-testen met komkommer met behulp van BDD-benadering
- 10 beste API-testtools in 2021 (SOAP- en REST API-testtools)
- REST API-testen met Spring RestTemplate en TestNG
- API-verzoeken automatiseren met Rest Assured en Jenkins
- Hoe een REST-project te maken in SoapUI Pro: Tutorial # 13
- Parasoft SOAtest-zelfstudie: scriptloze API-testtool