rest api tutorial rest api architecture
In diesem Lernprogramm erfahren Sie mehr über REST-API, Webdienste, Architektur der REST-API, REST-API-Einschränkungen und das Testen einer API mit POSTMAN:
Voraussetzungen: Grundkenntnisse in Web Services.
Prüfen Hier um ein klares Verständnis der Webdienste zu erhalten.
Was du lernen wirst:
Was ist die REST-API?
API ist einfach eine Schnittstelle, die von Softwarekomponenten verwendet wird, um miteinander zu kommunizieren. Ein Dienst ist eine Funktion, die genau definiert und in sich geschlossen ist und nicht von anderen Diensten abhängt.
Ein Webdienst ist eine Art API, die fast alle über HTTP betrieben werden. Wenn eine Web-API mithilfe der REST-Architektur entwickelt wird, wird sie als REST-Web-API bezeichnet.
Ab sofort gibt es zwei Arten von Webdiensten:
- SEIFE
- SICH AUSRUHEN
Unterschied zwischen SOAP und REST
SEIFE | SICH AUSRUHEN |
---|---|
Wir können nur das XML-Format verwenden, um die Daten im Anforderungshauptteil zu senden | Wir können XML-, JSON- usw. Format zum Senden der Anfrage haben. |
Es ist ein Protokoll | Es ist ein Architekturstil und unabhängig von jedem Protokoll kann REST SOAP-Webdienste verwenden |
Es steht für Simple Object Access Protocol | Es steht für Representational State Transfer |
Es verwendet Serviceschnittstellen, um die Geschäftslogik verfügbar zu machen. | Es verwendet URI, um Geschäftslogik verfügbar zu machen. |
SOAP hat einen strengen Standard zu befolgen. | Es wird kein derart strenger Standard erwähnt, dem REST folgen muss. Der Benutzer kann jedoch bei der Entwicklung von Webdiensten mit REST nur wenige Standards befolgen. |
Es erfordert mehr Bandbreite. | Es ist leicht. |
Es kann seine eigene Sicherheit definieren. | REST erbt die Sicherheitsmaßnahmen vom Transport. |
Bestes Beispiel ist Google, AMAZON | Bestes Beispiel ist YAHOO, LINKEDIN, AMAZON |
SOAP verwendet das Protokoll HTTP, SMTP usw. | REST basiert nur auf HTTP. |
Die Regeln zum Binden von Nachrichten, Vorgängen usw. sind in WSDL geschrieben | REST folgt dem WADL-Format zur Beschreibung der von Webdiensten angebotenen Funktionen |
Es ist standardisiert. | REST-Services sind nicht standardisiert. |
Es erfordert mehr Lernzeit aufgrund der bestehenden Regeln, der Bindung usw. | Aufgrund seiner Einfachheit benötigt es weniger Zeit zum Lernen. |
Warum REST statt SOAP wählen?
In den folgenden Punkten werden die Gründe für die Entscheidung für REST over SOAP erläutert.
- Es ist sehr gut zum Entwickeln und Testen von Web-APIs geeignet.
- REST benötigt weniger Bandbreite.
- Wir können AJAX für die REST-basierten Web-APIs verwenden.
- Es erfordert weniger Analyseaufwand.
- Die von JSON erstellte Nutzlastgröße ist geringer.
Über das Web sind viele Clients / Tools verfügbar, mit denen wir RESTful-Webdienste nutzen können.
Sie sind:
- Postbote
- Advanced Rest Client
- DHC Rest Client
- Antragsteller
- Schlaflosigkeit
- Durchsetzbar
- Poster
Warum Postbote?
- Es werden alle verfügbaren Optionen angezeigt.
- Postbote hat eine zusätzliche Funktion (bekannt als Runner).
- Benutzerfreundliche Benutzeroberfläche und einfach zu bedienen.
- Größere Community-Gruppe / Mitglieder.
REST-API-Architektur
Es ist hauptsächlich die Architektur des Web in einem Software-Architekturstil. Es ist für verteilte Hypermedia-Systeme. Eine RESTful-API nutzt direkt die vom RFC 2616-Protokoll definierten HTTP-Methoden.
Nur wenige Definitionen
FEUER steht für Application Programming Interface. Es handelt sich um eine Reihe von Unterprogrammdefinitionen, Protokollen und Tools zum Erstellen der Anwendungssoftware.
Internetdienste sind einige Programmcodes, die Daten / eingebaute Methoden enthalten. Diese werden von der Organisation über das Internet bereitgestellt, um mit Benutzern, Anwendungen von Drittanbietern usw. zu kommunizieren. Für die Kommunikation der Nachrichten wird hauptsächlich XML als Nachrichtensystem verwendet. XML codiert einfach die gesamte Kommunikation zwischen Benutzern und Anwendungen.
HTTP bedeutet Hypertext Transfer Protocol, das vom World Wide Web verwendet wird. Es definiert, wie Nachrichten formatiert und übertragen werden und welche Aktionen Webserver und Browser als Reaktion auf verschiedene Befehle ausführen.
Architektonischer Stil, Diese zeichnen sich durch die Merkmale aus, mit denen eine Struktur erstellt und sogar einzigartig gemacht wird. Es gibt zwei Arten von Stilen: Layered und Uniform Interface.
HASS : Wird auch als Uniform Resource Identifier bezeichnet. Es identifiziert eine Ressource (Textdokument, Bilddatei usw.).
URL: Wird auch als Uniform Resource Locator bezeichnet. Es ist eine Teilmenge der URIs, die einen Netzwerkspeicherort enthält.
URNE : Auch als Uniform Resource Name bezeichnet, ist eine Teilmenge von URIs, die einen Namen innerhalb eines bestimmten Bereichs, aber keinen Speicherort enthalten.
Zum Beispiel,
http://elearning.com/amazon/restapi.html#books
Hier im obigen Beispiel
HASS : http://elearning.com/amazon/restapi.html#posts
URL : http://elearning.com/amazon/restapi.html
URNE : elearning.com/amazon/restapi.html#posts
So öffnen Sie eine .dat-Datei auf einem Mac
Daher ist eine URL eine URI, die eine Ressource identifiziert und auch die Möglichkeit bietet, die Ressource zu lokalisieren, indem die Art und Weise des Zugriffs darauf beschrieben wird.
Jede URL kann also eine URI sein, aber das Gegenteil ist nicht der Fall.
Ein RESTful-Service wird über eine URL (Uniform Resource Locator) verfügbar gemacht. Dies ist ein logischer Name, der die Identität der Ressource von dem trennt, was akzeptiert oder zurückgegeben wird.
Ein Beispiel für eine REST-Architektur:
REST-API-Einschränkungen
Eine API-Schnittstelle wird als REST-fähig bezeichnet, wenn sie die folgenden Einschränkungen erfüllt:
- Einheitliche Schnittstelle: Unabhängig von dem von uns verwendeten Client bleibt das Grundkonzept für die Implementierung und Nutzung der REST-Services unverändert. Alle entwickelten REST-APIs sollten einen gemeinsamen Entwicklungsansatz haben.
- Staatenlos: Dies bedeutet, dass keine Sitzung gespeichert werden muss. Der Server speichert also keine von einem Client gesendeten HTTP-Anforderungen. Daher ist für einen Server jede einzelne HTTP-Anforderung eine neue Anforderung. Egal, wie oft die Anfrage gestellt wird oder der Kunde der Einzige ist oder nicht.
- Cacheable: Caching bedeutet, wie häufig auf Daten und Antworten aus einem Cache anstelle des Servers zugegriffen wird. Das Konzept des Caching gilt beim Senden der Client-Anfrage. Die Leistungsverbesserung erfolgt also clientseitig.
- Kundenserver: Server und Clients sind hinsichtlich der Implementierung unabhängig voneinander. Ein Client muss den Anforderungs-URI nur zusammen mit oder ohne Authentifizierung senden. Dann macht der Server den Rest des Schritts, das ist eine Antwort.
- Schichtsystem: Der Client kann nur die Anforderung als Ressourcen-URI an den Server senden. Bevor die Anforderung an den Server gesendet wird, gibt es jedoch eine REST-API, die uns die geschichtete Systemarchitektur bereitstellt. Das heißt, wir können API auf einem Server bereitstellen, Daten werden auf einem anderen Server bereitgestellt und die Authentifizierung auf einem anderen Server.
- Code on Demand (optional): Manchmal benötigt ein Kunde mehr als nur die Antwort. Mit der REST-API können wir einen ausführbaren Code als Antwort senden (dieser ausführbare Code kann ein Widget oder ein beliebiges Steuerelement sein). Es ist jedoch völlig optional, ob wir diese Funktion aktiviert / implementiert haben.
Einige weitere Terminologien im Zusammenhang mit der Rest-API:
Endpunkt : Dies ist der Verweis auf eine URL, die Webanfragen akzeptiert. Ein Webdienst kann mithilfe der Endpunktreferenz adressiert werden.
Zum Beispiel, Http: // {Domain_URL} //librarygr/libraries.xml
Ressourcen : Es ist eine Teilmenge des Endpunkts. Normalerweise machen Endpunkte einige Objekte verfügbar, die über Webdienste verwendet werden können. Ressourcen sind speziell der Teil eines Objekts über dem Endpunkt-URI.
Zum Beispiel, Http: // {Domain_URL} // api / pg_library / ornithology / swan
Nutzlast : Payload sind die Informationen, die während der Ausführung des POST- oder PUT-Vorgangs gesendet werden. Dies sind die Informationen, die im Hauptteil der HTTP-Anforderung angegeben sind.
Nutzdaten werden im JSON-Format gesendet. Zum Beispiel,
{ Id: 1, name:'sam', phones:({title:'mobile',number:9898989899}, {title:'home',number:8888888888}) }
Parameter ::
Wir können Parameter auf zwei Arten übergeben.
Abfrageparameter :: Nützlich, um auf Schlüssel / Wert-Paare in der Abfragezeichenfolge der URL zuzugreifen (der Teil nach dem?)
Bestes Beispiel
http://jsonplaceholder.typicode.com/posts/?id=3
Pfadparameter: Es ist nützlich, einen Teil der URL als Parameter abzugleichen. Wir können Informationen als Pfadparameter folgendermaßen senden: Formulardaten, x-www-form-urlencodiert, roh, binär.
Bestes Beispiel:
https://api.github.com/gists/49b05378bb8920d5b4ec54efc27103e2/comments
Was ist POSTMAN?
POSTMAN ist ein REST-Client, einfach eine App, die mit dem Chrome-Browser geliefert wird. Es wird unter Berücksichtigung der Entwickler entwickelt, um das Testen von API-Aufrufen zu vereinfachen. Es verfügt über eine eigene GUI zum Senden der API-Anforderungen und zum Lesen von API-Antworten.
Wir können die REST-API-Tests sowohl manuell als auch automatisiert durchführen.
Im folgenden Abschnitt erfahren Sie, wie Sie die Web-API manuell mit dem POSTMAN-Client testen.
Wie teste ich API mit Postman?
Installation
Wir müssen auf die zugreifen Chrome-Webstore . Suchen Sie im Chrome-Browser nach Postman. Klicken Hier um es der Chrome-Schaltfläche hinzuzufügen.
Sobald es erfolgreich installiert wurde, finden wir POSTMAN unter der Chrome App. Klicken Sie einfach auf das Postboten-Symbol, um POSTMAN zu öffnen. Der Start zum ersten Mal wird einige Zeit dauern.
Weitere Informationen zur Verwendung finden Sie unter der folgenden URL POSTBOTE als ein Werkzeug.
Voraussetzungen: Für den Zugriff auf über das Web bereitgestellte Dienste ist eine Internetverbindung erforderlich. Stellen Sie beim Zugriff auf die lokal bereitgestellten Dienste sicher, dass dem Benutzer, der den Test über POSTMAN ausführt, ausreichende Rechte und Berechtigungen gewährt werden.
qa Testen von Interviewfragen für erfahrene
Dummy-Ressourcen-URI: In diesem Tutorial verwenden wir einen Dummy-URI anstelle eines echten URI. Sie erhalten die gewünschten Antworten, es können jedoch keine Änderungen am Server vorgenommen werden.
http://jsonplaceholder.typicode.com
Navigationsschritte ::
# 1) Sobald die POSTMAN-App gestartet ist, wird standardmäßig die Anforderungsseite angezeigt.
#zwei) Sie können die Liste der API-Aufrufe anzeigen, indem Sie auf die Dropdown-Liste klicken. Durch Auswahl einer der Optionen aus der Dropdown-Liste können wir den API-Aufruf an den Server anfordern.
#3) Klicken Sie oben rechts in einem POSTMAN auf die Schaltfläche Umgebungsvariable. Stellen Sie die spezifische Umgebung ein, in der wir testen möchten. Wir können es für die zukünftige Ausführung speichern.
# 4) Auf die gespeicherte Umgebung kann über die Dropdown-Liste Umgebung zugegriffen werden.
# 5) Als nächstes müssen wir den Ressourcen-URI in dem angegebenen Feld festlegen.
# 6) Klicken Sie auf die Schaltfläche Parameter neben dem Feld Ressourcen-URI, um die Abfrageparameter anzugeben
# 7) Klicken Sie auf die Registerkarte Autorisierung, wählen Sie den Autorisierungstyp aus der Dropdown-Liste aus und legen Sie die gewünschte Autorisierung fest oder lassen Sie sie einfach als Keine Autorisierung belassen.
# 8) Klicken Sie auf die Registerkarte Überschriften und legen Sie die erforderlichen Überschriften wie den Inhaltstyp fest
# 9) Klicken Sie auf die Registerkarte Body und aktivieren Sie das Optionsfeld Formulardaten. Geben Sie die erforderlichen Body-Parameter an, die zusammen mit der Anforderungs-URL gesendet werden müssen
# 10) Klicken Sie auf die Registerkarte Body und wählen Sie das Optionsfeld x-www-form-urlencoded aus. Geben Sie die erforderlichen Body-Parameter an, die codiert gesendet werden müssen, sowie die Anforderungs-URL
#elf) Klicken Sie auf die Registerkarte 'Körper' und aktivieren Sie das Optionsfeld 'Roh'. Geben Sie die erforderlichen Body-Parameter an, die zusammen mit der Anforderungs-URL gesendet werden müssen. Dies ist im tatsächlichen JSON-Format
# 12) Klicken Sie auf die Registerkarte 'Körper' und aktivieren Sie das Optionsfeld 'Binär'. Geben Sie die erforderlichen Body-Parameter (normalerweise als Datei) an, die zusammen mit der Anforderungs-URL gesendet werden müssen.
# 13) Nachdem wir alle Details wie oben angegeben konfiguriert haben, können wir die Anfrage jetzt senden. Wir können die Sendeanforderung auch als request.json speichern (wir können den Namen der Anfrage ändern).
# 14) Die Liste der gestellten Anfragen finden Sie auf der linken Seite unter der Registerkarte Verlauf.
#fünfzehn) Außerdem können wir alle Details zur Anforderung (URI, Autorisierung, Parameter, Text usw.) in einer vorhandenen Sammlung oder einer neuen Sammlung speichern. Sobald die Anforderung zur Sammlung hinzugefügt wurde, können wir sie exportieren (freigeben) und sogar jede vorhandene Sammlung importieren.
Art der Prüfung in der Softwareentwicklung
Wir können die Sammlung als Link oder als Teambibliothek durch einen einfach generierten Code freigeben. Wir können immer die gesamte Collection Suite ausführen.
Sogar wir können die Sammlungs-URL im Web veröffentlichen, sodass jeder, der auf die veröffentlichte URL zugreift, auf die Sammlung zugreifen und die von der Web-API bereitgestellten Dienste nutzen kann.
Es gibt eine Funktion zum Anmelden bei POSTMAN, mit der wir den Verlauf, die Sammlungen, die Umgebungsdaten und den lokalen Speicher speichern können, damit wir sie speichern und jederzeit und überall darauf zugreifen können, nachdem wir uns beim POSTMAN angemeldet haben.
Läufer
Es wird verwendet, um die im Ordner 'Sammlungen' vorhandenen Ressourcen auszuführen.
Fazit
Die meisten Unternehmen verwenden den REST-Architekturstil für die Entwicklung / Implementierung von Webdiensten, da es sich um eine einfache und benutzerfreundliche Oberfläche handelt, die weniger Schulung für die vorhandenen / neuen Mitglieder des Projekts erfordert. Unternehmen erwägen REST zusammen mit ihren vorhandenen Webdiensten.
Lesen Sie auch = >> Flask API Tutorial
Im nächsten Tutorial dieser REST-API-Reihe werden verschiedene Arten von Antwortcodes, Arten von REST-Anforderungen usw. erläutert.
Literatur-Empfehlungen
- Rest-API-Antwortcodes und Arten von Rest-Anforderungen
- POSTMAN Tutorial: API-Tests mit POSTMAN
- REST-API-Test mit Gurke unter Verwendung des BDD-Ansatzes
- 10 besten API-Testtools im Jahr 2021 (SOAP- und REST-API-Testtools)
- REST-API-Tests mit Spring RestTemplate und TestNG
- So automatisieren Sie API-Anforderungen mit Rest Assured und Jenkins
- So erstellen Sie ein REST-Projekt in SoapUI Pro: Lernprogramm Nr. 13
- Parasoft SOAtest Tutorial: Skriptloses API-Testtool