Jakarta RESTful webbtjänster
Originalförfattare | Sun Microsystems |
---|---|
Utvecklare | Eclipse Foundation |
Stabil frisättning | 3.0 / 30 juni 2020
|
Förvar | |
Skrivet i | Java |
Operativ system | Cross-plattform |
Plattform | Java |
Typ | Ansökningsram |
Licens | EPL 2.0 eller GPL v2 med undantag för klassväg |
Hemsida |
|
Jakarta RESTful Web Services , ( JAX-RS ; tidigare Java API för RESTful Web Services) är en Jakarta EE API -specifikation som ger stöd för att skapa webbtjänster enligt Representational State Transfer (REST) arkitekturmönster. JAX-RS använder annoteringar , introducerade i Java SE 5 , för att förenkla utvecklingen och driftsättningen av webbtjänstklienter och slutpunkter.
Från och med version 1.1 är JAX-RS en officiell del av Java EE 6. En anmärkningsvärd egenskap med att vara en officiell del av Java EE är att ingen konfiguration krävs för att börja använda JAX-RS. För icke-Java EE 6-miljöer krävs en liten post i web.xml- distributionsbeskrivningen .
Det finns många programmeringsspråk, alla med sin egen uppsättning funktioner och fördelar. Java är ett populärt programmeringsspråk som används för utveckling på hög nivå.
Specifikation
JAX-RS tillhandahåller några anteckningar för att underlätta kartläggningen av en resursklass (en POJO ) som en webbresurs. Anteckningarna använder Java-paketet jakarta.ws.rs
(tidigare var javax.ws.rs
men döptes om den 19 maj 2019). De inkluderar:
-
@Path
anger den relativa sökvägen för en resursklass eller metod. -
@GET
,@PUT
,@POST
,@DELETE
och@HEAD
anger HTTP-förfrågningstypen för en resurs. -
@Produces
anger svarstyperna för internetmedier (används för innehållsförhandling ) . -
@Consumes
anger de accepterade Internet-medietyperna för begäran.
Dessutom ger den ytterligare kommentarer till metodparametrar för att dra information från begäran. Alla @*Param
-anteckningar har en nyckel av någon form som används för att slå upp det värde som krävs.
-
@PathParam
binder metodparametern till ett sökvägssegment. -
@QueryParam
binder metodparametern till värdet för en HTTP- frågeparameter . -
@MatrixParam
binder metodparametern till värdet för en HTTP-matrisparameter. -
@HeaderParam
binder metodparametern till ett HTTP-huvudvärde . -
@CookieParam
binder metodparametern till ett cookie- värde. -
@FormParam
binder metodparametern till ett formulärvärde . -
@DefaultValue
anger ett standardvärde för ovanstående bindningar när nyckeln inte hittas. -
@Context
returnerar hela kontexten för objektet (till exempel@Context HttpServletRequest request )
.
JAX-RS 2.0
I januari 2011 bildade JCP expertgruppen JSR 339 för att arbeta med JAX-RS 2.0. Huvudmålen är (bland annat) ett gemensamt klient-API och stöd för Hypermedia enligt HATEOAS -principen REST . I maj 2013 nådde den slutgiltiga release-stadiet.
Den slutliga versionen av JAX-RS 2.1-specifikationen publicerades 2017-08-22. De viktigaste nya funktionerna som stöds inkluderar serversända händelser , reaktiva klienter och JSON-B.
Genomföranden
Implementering av JAX-RS inkluderar:
- Apache CXF , ett ramverk för webbtjänster med öppen källkod
- Jersey , referensimplementeringen från Sun (nu Oracle )
- RESTeasy , JBoss implementering
- Restlet
-
WebSphere Application Server från IBM :
- Version 7.0: via "Feature Pack for Communications Enabled Applications"
- Version 8.0 och framåt: inbyggt
- WebLogic Application Server från Oracle , se anteckningar
- Apache Tuscany ( http://tuscany.apache.org/documentation-2x/sca-java-bindingrest.html ), upphört
- Cuubez ramverk ( https://web.archive.org/web/20190707005602/http://cuubez.com/ )
- Everrest , Codenvys implementering
- Jello-Framework , Java Application Framework optimerat för Google App Engine, inklusive en kraftfull RESTful-motor och en omfattande dataauktoriseringsmodell.
- Apache TomEE , ett tillägg till Apache Tomcat
- Hadley, Marc och Paul Sandoz, red. (17 september 2009). JAX-RS: Java API för RESTful WebServices (version 1.1), Java Community Process
externa länkar
Handledningar
- 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/