Jakarta RESTful webové služby - Jakarta RESTful Web Services
Původní autoři | Sun Microsystems |
---|---|
Vývojáři | Eclipse Foundation |
Stabilní uvolnění | 3.0 / 30. června 2020 |
Úložiště | |
Napsáno | Jáva |
Operační systém | Cross-platform |
Plošina | Jáva |
Typ | Rámec aplikace |
Licence | EPL 2.0 nebo GPL v2 w /Výjimka třídy Classpath |
webová stránka | projekty |
Jakarta RESTful webové služby, (JAX-RS; dříve Java API pro RESTful Web Services) je Jakarta EE API specifikace, která poskytuje podporu při vytváření webové služby podle Převod reprezentativního státu (REST) architektonický vzor.[1] JAX-RS používá anotace, představený v Java SE 5, aby se zjednodušil vývoj a nasazení klientů a koncových bodů webových služeb.
Od verze 1.1 je JAX-RS oficiální součástí Java EE 6. Pozoruhodnou vlastností oficiální části prostředí Java EE je, že pro zahájení používání JAX-RS není nutná žádná konfigurace. Pro prostředí jiné než Java EE 6 je malá položka v web.xml deskriptor nasazení je požadováno.
Specifikace
JAX-RS poskytuje některé anotace, které pomáhají při mapování třídy prostředků (a POJO ) jako webový zdroj. Anotace používají Balíček Java javax.ws.rs
. Obsahují:
@Cesta
určuje relativní cesta pro třídu prostředků nebo metodu.@DOSTAT
,@DÁT
,@POŠTA
,@VYMAZAT
a@HLAVA
uveďte Typ požadavku HTTP zdroje.@ Produkty
specifikuje odpověď Druhy internetových médií (používá vyjednávání obsahu ).@ Spotřebuje
specifikuje přijatý požadavek na internetová média typu.
Kromě toho poskytuje další poznámky k parametry metody vytáhnout informace z požadavku. Všechny @ * Param
anotace mají klíč nějaké formy, která se používá k vyhledání požadované hodnoty.
@PathParam
váže parametr metody na segment cesty.@QueryParam
váže parametr metody na hodnotu HTTP parametr dotazu.@MatrixParam
váže parametr metody na hodnotu Parametr matice HTTP.@HeaderParam
váže parametr metody na Záhlaví HTTP hodnota.@CookieParam
váže parametr metody na a cookie hodnota.@FormParam
váže parametr metody na a formulář hodnota.@Výchozí hodnota
specifikuje a výchozí hodnota pro výše uvedené vazby, když klíč nebyl nalezen.@Kontext
vrací celý kontext objektu (například@Context HttpServletRequest požadavek
).
JAX-RS 2.0
V lednu 2011 JCP vytvořilo skupinu odborníků JSR 339 pro práci na JAX-RS 2.0. Hlavními cíli jsou (mimo jiné) společné klientské API a podpora Hypermedia následující po HATEOAS - princip ZBYTEK. V květnu 2013 dosáhla fáze Final Release.[2]
Dne 22. 8. 2017 JAX-RS 2.1[3] bylo vydáno finální vydání specifikace. Mezi hlavní nové podporované funkce patříudálosti odeslané serverem,reaktivní klienti a JSON-B.[4]
Implementace
Implementace JAX-RS zahrnují:[5]
- Apache CXF, otevřený zdroj webová služba rámec
- Trikot, referenční implementace z slunce (Nyní Věštec )
- RESTeasy, JBoss implementace
- Restlet
- WebSphere Application Server z IBM:
- Verze 7.0: prostřednictvím „Sada funkcí pro aplikace podporující komunikaci“
- Verze 8.0 a novější: nativně
- Aplikační server WebLogic z Věštec viz poznámky
- Apache Toskánsko (http://tuscany.apache.org/documentation-2x/sca-java-bindingrest.html ), ukončeno
- Rámec Cuubez (https://web.archive.org/web/20190707005602/http://cuubez.com/ )
- Everrest, Implementace Codenvy
- Jello-Framework, Java Application Framework optimalizovaný pro Google App Engine, včetně výkonného modulu RESTful a komplexního modelu autorizace dat.
Reference
- ^ Hadley, str. 1.
- ^ „JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services“. Proces komunity Java.
- ^ „JSR 370: Specifikace Java API pro RESTful Web Services (JAX-RS 2.1)“. Proces komunity Java.
- ^ „JSR 367: Java API for JSON Binding (JSON-B)“. Proces komunity Java.
- ^ Malý, Marku (1. října 2008). „Srovnání implementací JAX-RS“.
- Hadley, Marc a Paul Sandoz, eds. (17. září 2009). JAX-RS: Java API pro RESTful WebServices (verze 1.1), Proces komunity Java