Welcome to Restful-Web-Services-Tutorial im Java. REST ist die Abkürzung für REpresentational State Transfer. REST ist ein Architekturstil für die Entwicklung von Anwendungen, auf die über das Netzwerk zugegriffen werden kann. Der architektonische Stil wurde von Roy Fielding in seiner Doktorarbeit im Jahr 2000 ans Licht gebracht.
Restful Web Services
Restful Web Services ist eine zustandslose Client-Server-Architektur, bei der Webdienste Ressourcen sind und durch ihre URIs identifiziert werden können.,
REST-Client-Anwendungen können HTTP GET/POST-Methoden verwenden, um Restful-Webdienste aufzurufen. REST gibt kein bestimmtes Protokoll an, das verwendet werden soll, aber in fast allen Fällen wird es über HTTP/HTTPS verwendet. Im Vergleich zu SOAP-Webdiensten sind diese leichtgewichtig und folgen keinem Standard. Wir können XML, JSON, Text oder jede andere Art von Daten für Anfrage und Antwort verwenden.
Java-RESTful-Web-Services-API
Java API for RESTful Web Services (JAX-RS), ist die Java-API für die Erstellung von REST web-services., JAX-RS verwendet Anmerkungen, um die Entwicklung und Bereitstellung von Webdiensten zu vereinfachen. JAX-RS ist Teil von JDK, sodass Sie nichts hinzufügen müssen, um die Anmerkungen zu verwenden.
Restful Web Services Annotations
Einige der wichtigen JAX-RS Annotationen sind:
- : wird verwendet, um den relativen Pfad der Klasse und Methoden anzugeben. Wir können den URI eines Webservices abrufen, indem wir den Pfadanmerkungswert scannen.,
-
@GET
,@PUT
,@POST
,@DELETE
und@HEAD
: wird verwendet, um den HTTP-Anforderungstyp für eine Methode anzugeben. -
@Produces
,@Consumes
: dient zum angeben der Anfrage und-Antwort-Typen. -
@PathParam
: Wird verwendet, um den Methodenparameter durch Parsen an den Pfadwert zu binden.
Restful-Web-Services und SOAP
- SOAP ist ein Protokoll, während REST ist ein Architekturstil.,
- SOAP-Server – und Clientanwendungen sind eng miteinander verbunden und binden an den WSDL-Vertrag, während es in REST-Webdiensten und-Clients keinen Vertrag gibt.
- Lernkurve ist einfach für REST im Vergleich zu SOAP-Web-Services.
- REST Web Services Request-und Response-Typen können XML, JSON, Text usw. sein. während SOAP nur mit XML funktioniert.
- JAX-RS ist die Java-API für REST-Webdienste, während JAX-WS die Java-API für SOAP-Webdienste ist.
REST API Implementierungen
Es gibt zwei wichtige Implementierungen von JAX-RS API.,
- Jersey: Jersey ist die Referenz-Implementierung von Sun. Um Jersey als JAX-RS-Implementierung zu verwenden, müssen wir nur das Servlet im Web konfigurieren.xml und fügen Sie erforderliche Abhängigkeiten hinzu. Beachten Sie, dass die JAX-RS-API Teil von JDK not Jersey ist, daher müssen wir die Abhängigkeitsgläser in unserer Anwendung hinzufügen.
- RESTEasy: RESTEasy ist das JBoss-Projekt, das die JAX-RS-Implementierung bereitstellt.
Java Restful Web Services Tutorial
Lassen Sie uns sehen, wie einfach Restful Web Service mit Jersey zu erstellen und dann RESTEasy., Wir werden folgende Methoden über HTTP verfügbar machen und die Chrome Postman-Erweiterung verwenden, um diese zu testen.,d>
estful Web Services
Create a dynamic web project and konvertieren Sie es dann in Maven, um das Skelett Ihres Webservices-Projekts abzurufen., Das folgende Bild zeigt die Projektstruktur des endgültigen Projekts.
schauen wir uns die Jersey-Abhängigkeiten, die wir in pom.xml-Datei.
Wir müssen keine Jersey-Client-Abhängigkeiten hinzufügen, aber wenn Sie ein Java-Programm schreiben, um einen REST-Webdienst mit Jersey aufzurufen, ist dies erforderlich.
Schauen wir uns nun den Bereitstellungsdeskriptor an, um zu erfahren, wie Jersey zum Erstellen unserer Webanwendung konfiguriert wird.
Das ist alles, was erforderlich ist, um Jersey in unsere Webanwendung einzufügen, in unserem Java-Code werden wir JAX-RS-Annotationen verwenden., Beachten Sie den Wert des init-Parameters com.sun.jersey.config.property.packages
, um ein Paket bereitzustellen, das nach Webdienstressourcen und-methoden durchsucht wird.
REST Example Model Classes
Zunächst erstellen wir zwei model Beans – Person
für unsere Anwendungsdaten und Response
zum Senden von Antworten an Clientsysteme. Da wir XML-Antworten senden, sollten die Beans mit @XmlRootElement
kommentiert werden, daher haben wir diese Klasse.,
REST Web Services Tutorial Services
Basierend auf unserer URI-Struktur finden Sie unten die Serviceschnittstelle und den Implementierungscode.
Restful-Web-Services-Prüfung
Das ist es. Unser Webdienst ist bereit, exportieren Sie ihn einfach als WAR-Datei und legen Sie ihn in das Tomcat-Webapps-Verzeichnis oder stellen Sie ihn in einem anderen Container Ihrer Wahl bereit.
Nachfolgend sind einige der Tests aufgeführt, die mit der Postman Chrome-Erweiterung für diesen Webdienst durchgeführt wurden. Beachten Sie, dass wir Accept-und Content-Type-Werte als „application/xml“ im Anforderungsheader bereitstellen müssen, wie im folgenden Bild gezeigt.,
- getDummy
- add
- get
- getAll
- delete
Das ist alles zum Erstellen von Webdiensten mit Jersey JAX-RS-Implementierung. Wie Sie sehen, verwendet der größte Teil des Codes JAX-RS-Annotationen und Jersey ist über den Bereitstellungsdeskriptor und die Abhängigkeiten angeschlossen.,
RESTEasy RESTful Web Services Example
Wir werden die gesamte im Jersey-Projekt entwickelte Geschäftslogik verwenden, aber anstatt Änderungen am selben Projekt vorzunehmen, habe ich ein neues Projekt erstellt. Erstellen Sie ein dynamisches Webprojekt und konvertieren Sie es in ein Maven-Projekt. Kopieren Sie dann alle java-Klassen – Person, Response, PersonService und PersonServiceImpl. Unten ist das endgültige Projekt, nachdem wir mit allen Änderungen fertig sind.
Fügen Sie unten RESTEasy Abhängigkeiten in pom.xml-Datei.
Unten ist das Web.xml-Datei, in der wir Resteasy Servlet konfigurieren.,
Beachten Sie die init-Parameter, in denen MyApp
Klasse als Wert angeben, hier erweitern wir javax.ws.rs.core.Application
Klasse wie unten gezeigt.
RESTEasy-Web-Services-Prüfung
Das ist es. Unser Webservice ist bereit mit RESTEasy JAX-RS Implementierung. Im folgenden sind einige der output von Postman chrome-Erweiterung test.,
- getDummy
- hinzufügen
- get
Das ist alles für Restful Web Services Tutorial, ich hoffe, Sie haben etwas über JAX-RS-Anmerkungen gelernt und die Vorteile von standard-API, die uns bei der Wiederverwendung von Code und dem Übergang von Jersey zu RESTEasy so einfach geholfen hat.