rest api response codes
In deze zelfstudie leren we over verschillende REST-antwoordcodes, soorten REST-verzoeken en enkele best practices die moeten worden gevolgd
In de vorige tutorial, REST API Architecture and Constraints, hebben we geleerd over webservices, REST Architecture, POSTMAN, etc.
We kunnen verwijzen naar de eerste tutorial van de REST API voor meer informatie hierover.
Telkens wanneer u een woord of zin in een zoekmachine zoekt, stuurt de zoekmachine het verzoek naar de webserver. De webserver retourneert een driecijferige antwoordcode die de status van het verzoek aangeeft.
Wat je leert:
- Rest API-antwoordcodes
- Verschillende soorten REST-verzoeken
- Best practices bij het valideren van een REST API
- Gevolgtrekking
Rest API-antwoordcodes
Hier zijn enkele voorbeeldresponscodes die we normaal gesproken zullen zien tijdens het uitvoeren van REST API-testen via POSTMAN of via een REST API-client.
# 1) 100-serie
Dit zijn tijdelijke reacties
- 100 Ga verder
- 101 Van protocol wisselen
- 102 Verwerking
# 2) 200-serie
De client accepteert het verzoek en wordt met succes verwerkt op de server.
arrays en functies c ++
- 200 - Oké
- 201 - Gemaakt
- 202 - Geaccepteerd
- 203 - Niet-gezaghebbende informatie
- 204 - Geen inhoud
- 205 - Inhoud resetten
- 206 - Gedeeltelijke inhoud
- 207 - Multistatus
- 208 - Reeds gemeld
- 226 - IM gebruikt
# 3) 300-serie
De meeste codes met betrekking tot deze serie zijn voor URL-omleiding.
- 300 - Meerdere keuzes
- 301 is permanent verhuist
- 302 - Gevonden
- 303 - Controleer andere
- 304 - Niet gewijzigd
- 305 - Gebruik proxy
- 306 - Wissel van proxy
- 307 - Tijdelijke omleiding
- 308 - Permanente omleiding
# 4) 400-serie
Deze zijn specifiek voor fouten aan de clientzijde.
- 400 - Onjuist verzoek
- 401 - Niet geautoriseerd
- 402 - Betaling vereist
- 403 verboden
- 404 Niet Gevonden
- 405 - Methode niet toegestaan
- 406 - Niet acceptabel
- 407 - Proxyverificatie vereist
- 408 - Time-out verzoek
- 409 - Conflict
- 410 - Weg
- 411 - Lengte vereist
- 412 - Voorwaarde mislukt
- 413 - Laadvermogen te groot
- 414 - URI te lang
- 415 - Niet-ondersteund mediatype
- 416 - Bereik niet bevredigend
- 417 - Verwachting mislukt
- 418 - Ik ben een theepot
- 421 - Onjuist gericht verzoek
- 422 - Onverwerkbare entiteit
- 423 - Vergrendeld
- 424 - Mislukte afhankelijkheid
- 426 - Upgrade vereist
- 428 - Voorwaarde vereist
- 429 - Te veel verzoeken
- 431 - Verzoekkopvelden te groot
- 451 - Niet beschikbaar om juridische redenen
# 5) 500-serie
Deze zijn specifiek voor de serverfout.
- 500 Interne server fout
- 501 - Niet geïmplementeerd
- 502 Bad Gateway
- 503 Service niet beschikbaar
- 504 - Time-out gateway
- 505 - HTTP-versie niet ondersteund
- 506 - Variant onderhandelt ook
- 507 - Onvoldoende opslag
- 508 - Loop gedetecteerd
- 510 - niet uitgebreid
- 511 - Netwerkverificatie vereist
Afgezien hiervan zijn er verschillende codes die bestaan, maar die zullen ons afwijken van onze huidige discussie.
Verschillende soorten REST-verzoeken
Hier zullen we elke methode van REST API samen met de collecties bespreken.
Methode | Omschrijving |
---|---|
PATCH | Het lijkt veel op het zeggen, maar het is meer een kleine manipulatie van de inhoud van bronnen |
KRIJGEN | Ophaalstatusregel, antwoordtekst, koptekst enz. |
HOOFD | Hetzelfde als GET, maar alleen de statusregel en het koptekstgedeelte ophalen |
POST | Voer het verzoek uit met behulp van de payload van het verzoek, meestal bij het maken van een record op de server |
ZETTEN | Handig bij het manipuleren / bijwerken van de bron met behulp van Payload aanvragen |
VERWIJDEREN | Verwijdert informatie met betrekking tot de doelbron. |
OPTIES | Beschrijf de communicatie-opties voor de doelbron |
Notitie: Er zijn zoveel methoden die we kunnen doen met POSTMAN, maar we zullen alleen de volgende methoden met POSTMAN bespreken.
We zullen een dummy-URL gebruiken om te demonstreren http://jsonplaceholder.typicode.com Deze URL zal ons de gewenste antwoorden geven, maar er zullen geen creatie of wijziging op de server plaatsvinden.
# 1) KRIJGEN
Verzoekparameters:
Methode: GET
Aanvraag-URI: http://jsonplaceholder.typicode.com/posts
Queryparameter: id = 3;
Reactie ontvangen:
Antwoordstatuscode: 200 OK
Antwoordtekst
# 2) HOOFD
Verzoekparameters:
Methode: HEAD
Aanvraag-URI: http://jsonplaceholder.typicode.com/posts
# 3) POST
# 4) PUT
# 5) OPTIES
Verzoekparameters:
Methode: OPTIES
Aanvraag-URI: http://jsonplaceholder.typicode.com/
Headers: Content-type = Application / JSON
# 6) PATCH
Best practices bij het valideren van een REST API
# 1) CRUD-operaties
Bestaat uit minimaal 4 geleverde methoden en zou moeten werken in de web-API.
GET, POST, PUT en DELETE.
hoe u een kopie maakt van een array java
# 2) Foutafhandeling
Mogelijke tips voor de API-gebruikers over de fout en waarom deze is opgetreden. Het zou ook gedetailleerde foutmeldingen moeten geven.
# 3) API-versiebeheer
Gebruik de letter ‘v’ in de URL om de API-versie aan te duiden. Bijvoorbeeld-
http://restapi.com/api/v3/passed/319
Extra parameter aan het einde van de URL
http://restapi.com/api/user/invaiiduser?v=6.0
# 4) Filteren
Om de gebruiker in staat te stellen te specificeren, selecteert u de gewenste gegevens in plaats van ze allemaal tegelijk te verstrekken.
/ contact / sam? naam, leeftijd, aanduiding, kantoor
/ contacts? limit = 25 & offset = 20
# 5) Beveiliging
Tijdstempel in elk API-verzoek en elke reactie. Gebruik van access_token om ervoor te zorgen dat de API wordt aangeroepen door de vertrouwenspartijen.
beste software om pc-prestaties te verbeteren
# 6) Analyse
Als u Analytics in uw REST API hebt, krijgt u een goed inzicht in de te testen API, vooral wanneer het aantal opgehaalde records erg hoog is.
# 7) Documentatie
Er moet de juiste documentatie worden verstrekt zodat API-gebruikers deze kunnen gebruiken en de services effectief kunnen gebruiken.
# 8) URL-structuur
De URL-structuur moet eenvoudig blijven en een gebruiker moet de domeinnaam er gemakkelijk over kunnen lezen.
Bijvoorbeeld https://api.testdomain.com
Bewerkingen die via de Rest API moeten worden uitgevoerd, moeten ook heel gemakkelijk te begrijpen en uit te voeren zijn.
Bijvoorbeeld voor een e-mailclient:
KRIJGEN: lezen / inbox / berichten - Haalt de lijst op van alle berichten onder de inbox
KRIJGEN: lezen / inbox / berichten / 10 - Leest 10thbericht in inbox
POST: create / inbox / folders - Maak een nieuwe map onder inbox
VERWIJDEREN: Verwijderen / spam / berichten - Verwijder alle berichten in de spammap
ZETTEN: folders / inbox / submap - Werk de informatie met betrekking tot de submap onder inbox bij.
Gevolgtrekking
Veel organisaties geven er de voorkeur aan om REST Web API te implementeren omdat het zeer eenvoudig te implementeren is, mindere normen en regels heeft, gemakkelijk toegankelijk, lichtgewicht en gemakkelijk te begrijpen. POSTMAN heeft zijn voordelen bij gebruik met RESTful API vanwege de gebruiksvriendelijke gebruikersinterface, gebruiksgemak en test, snellere respons en nieuwe RUNNER-functie.
In de volgende tutorial in deze Rest API Tutorial-serie automatiseren we de testcases die we handmatig hebben uitgevoerd.
Aanbevolen literatuur
- API-verzoeken automatiseren met Rest Assured en Jenkins
- 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
- Hoe een REST-project te maken in SoapUI Pro: Tutorial # 13
- Werken met HTTP-verzoeken in JMeter
- Soorten risico's in softwareprojecten
- SOAP versus REST-verschil: vergelijking van prestaties en beveiliging