Jakarta Rastful Web Services
Originalautor (en) | Sun Microsystems |
---|---|
Entwickler (en) | Eclipse Foundation |
Stabile Version | 3.0 / 30. Juni 2020 |
Repository | |
Geschrieben in | Java |
Betriebssystem | Plattformübergreifend |
Plattform | Java |
Typ | Anwendungsrahmen |
Lizenz | EPL 2.0 oder Gpl v2 w/Klassenpfadausnahme |
Webseite | Projekte |
Jakarta Rastful Web Services, (JAX-RS; Früher Java API für erholsame Webdienste) ist a Jakarta ee API Spezifikation, die Unterstützung beim Erstellen liefert Internetdienste laut dem Repräsentationsstaatsübertragung (Rest) Architekturmuster.[1] JAX-RS verwendet Anmerkungen, eingeführt in Java SE 5, um die Entwicklung und Bereitstellung von Webdienst -Clients und -Dendpunkten zu vereinfachen.
Ab Version 1.1 ist JAX-RS ein offizieller Teil von Java ee 6. Ein bemerkenswertes Merkmal, ein offizieller Teil von Java EE zu sein, ist, dass keine Konfiguration erforderlich ist, um JAX-RS zu verwenden. Für Nicht-Java ee 6-Umgebungen ein kleiner Eintrag in der web.xml Bereitstellungsdeskriptor ist nötig.
Spezifikation
JAX-RS bietet einige Anmerkungen, um eine Ressourcenklasse zuzuordnen (a Pojo) als Webressource. Die Anmerkungen verwenden die Java -Paket jakarta.ws.rs
(zuvor war javax.ws.rs
wurde aber am 19. Mai 2019 umbenannt[2]). Sie beinhalten:
-
@Weg
Gibt den Verwandten an Weg Für eine Ressourcenklasse oder -methode. -
@ERHALTEN
,@STELLEN
,@POST
,@LÖSCHEN
und@KOPF
Präzisiere das HTTP -Anforderungstyp einer Ressource. -
@Produces
Gibt die Antwort an Internet -Medientypen (benutzt für Inhaltsverhandlung). -
@Consumes
Gibt die anerkannten Anforderungs -Internet -Medientypen an.
Darüber hinaus liefert es weitere Anmerkungen zu Methodenparameter Informationen aus der Anfrage herausholen. All die @*Param
Anmerkungen haben einen Schlüssel in irgendeiner Form, der verwendet wird, um den erforderlichen Wert nachzuschlagen.
-
@PathParam
Bindet den Methodenparameter an ein Pfadsegment. -
@Queryparam
bindet den Methodenparameter an den Wert eines HTTP Abfrageparameter. -
@Matrixparam
Bindet den Methodenparameter an den Wert eines HTTP -Matrixparameters. -
@Headerparam
bindet den Methodeparameter an eine HTTP -Header Wert. -
@Cookieparam
bindet den Methodeparameter an a Plätzchen Wert. -
@Formparam
bindet den Methodeparameter an a bilden Wert. -
@Standardwert
Gibt a an Standardwert Für die obigen Bindungen, wenn der Schlüssel nicht gefunden wird. -
@Kontext
Gibt den gesamten Kontext des Objekts zurück (zum Beispiel@Context httpServletRequest -Anfrage
).
JAX-RS 2.0
Im Januar 2011 gründete der JCP die JSR 339 Expert Group, um an JAX-RS 2.0 zu arbeiten. Die Hauptziele sind unter anderem eine gemeinsame Client -API und Unterstützung für Hypermedia nach dem Hassoas-Prinzip von SICH AUSRUHEN. Im Mai 2013 erreichte es die endgültige Veröffentlichungsphase.[3]
2017-08-22 JAX-RS 2.1[4] Die endgültige Veröffentlichung der Spezifikation wurde veröffentlicht. Zu den wichtigsten neuen unterstützten Funktionen gehörenServer-Sent-EreignisseAnwesendreaktiv Kunden und JSON-B.[5]
Implementierungen
Implementierungen von JAX-Rs umfassen:[6]
- Apache CXF, eine Open Source Internetservice Rahmen
- Jersey, das Referenzimplementierung aus Sonne (jetzt Orakel)
- Ruhig schlafen, JbossImplementierung
- Restlet
- WebSphere Application Server aus IBM:
- Version 7.0: über die "Feature Pack für Kommunikationsfunktionsanwendungen"
- Version 8.0 ab: nativ
- Weblogic Application Server aus Orakel, sehen Anmerkungen
- Apache Toskana (http://tuscany.apache.org/documentation-2x/sca-java-bindingrest.html), abgesetzt
- Cuubez -Framework (https://web.archive.org/web/20190707005602/http://cuubez.com/)
- EverRest, Die Implementierung von Codenvy
- Jello-Framework, Java Application Framework optimiert für die Google App Engine, einschließlich eines leistungsstarken Rastful -Engine und eines umfassenden Datenautorisierungsmodells.
- Apache Tomee, eine Ergänzung zu Apache tomcat
Verweise
- ^ Hadley, p. 1.
- ^ "Paket für Github umbenennen". GitHub.
- ^ "JSR 339: JAX-RS 2.0: Die Java-API für erholsame Webdienste". Java Community -Prozess.
- ^ "JSR 370: Java-API für RESTful Web Services (JAX-RS 2.1) Spezifikation". Java Community -Prozess.
- ^ "JSR 367: Java-API für JSON Bindung (JSON-B)". Java Community -Prozess.
- ^ Little, Mark (1. Oktober 2008). "Ein Vergleich von JAX-RS-Implementierungen".
- Hadley, Marc und Paul Sandoz, Hrsg. (17. September 2009). JAX-RS: Java-API für ruhige Webservices (Version 1.1), Java Community -Prozess
Externe Links
Tutorials
- https://javabrains.io/courses/javaee_jaxrs/
- http://docs.oracle.com/javaee/6/tutorial/doc/giepu.html
- http://www.vogella.com/tutorials/rest/article.html
- http://www.mkyong.com/tutorials/jax-rs-tutorials/
- http://www.coderpanda.com/jax-rs-tutorial/
- https://www.javavogue.com/2015/03/java-jerseyjax-rs-tutorials/
- http://howtodoinjava.com/restful-web-service/