Välkommen till Restful Web Services Tutorial i Java. REST är en förkortning för REpresentational State Transfer. Vila är en arkitektonisk stil för att utveckla applikationer som kan nås via nätverket. REST architectural style togs i ljus av Roy Fielding i sin doktorsavhandling 2000.
Restful Web Services
Restful Web Services är en statslös klient-server-arkitektur där webbtjänster är resurser och kan identifieras av deras Uri.,
REST-klientprogram kan använda HTTP GET / POST-metoder för att åberopa vilsamma webbtjänster. REST anger inte något specifikt protokoll att använda, men i nästan alla fall används det över HTTP / HTTPS. Jämfört med SOAP web services är dessa lätta och följer inte någon standard. Vi kan använda XML, JSON, text eller någon annan typ av data för begäran och svar.
Java RESTful Web Services API
Java API för RESTful Web Services (JAX-RS) är Java API för att skapa REST web services., JAX-RS använder anteckningar för att förenkla utvecklingen och distributionen av webbtjänster. JAX-RS är en del av JDK, så du behöver inte inkludera något att använda det är anteckningar.
Restful Web Services anteckningar
några av de viktiga JAX-RS anteckningar är:
-
@Path
: används för att ange den relativa sökvägen för klass och metoder. Vi kan få Uri av en webbtjänst genom att skanna sökvägen anteckning värde., -
@GET
,@PUT
,@POST
,@DELETE
och@HEAD
: används för att ange typen HTTP-begäran för en metod. -
@Produces
,@Consumes
: används för att ange förfrågan och svarstyper. -
@PathParam
: används för att binda metodsparametern till sökvägsvärde genom att analysera den.
Restful Web Services and SOAP
- tvål är ett protokoll medan resten är en arkitektonisk stil.,
- SOAP-server och klientapplikationer är tätt kopplade och binder till WSDL-kontraktet medan det inte finns något kontrakt i REST web services och client.
- inlärningskurva är lätt för vila jämfört med tvål webbtjänster.
- REST webbtjänster begäran och svarstyper kan vara XML, JSON, text etc. medan tvål fungerar endast med XML.
- JAX-RS är Java API för REST Web services medan JAX-WS är Java API för SOAP web services.
REST API-implementeringar
det finns två stora implementeringar av JAX-RS API.,
- Jersey: Jersey är referensimplementationen som tillhandahålls av Sun. För att använda Jersey som vår JAX-RS implementering, allt vi behöver för att konfigurera sin servlet i webben.xml och lägga till nödvändiga beroenden. Observera att JAX-RS API är en del av JDK not Jersey, så vi måste lägga till sina beroendeburkar i vår applikation.
- RESTEasy: RESTEasy är JBoss projekt som erbjuder JAX-RS genomförande.
Java Restful Web Services Tutorial
Låt oss se hur lätt att skapa vilsam webbtjänst med Jersey och sedan RESTEasy., Vi kommer att exponera följande metoder över HTTP och använda Chrome Postman förlängning för att testa dessa.,d>
Jersey RESTful web services
skapa ett dynamiskt webbprojekt och sedan konvertera den till Maven för att få skelettet av ditt Webbtjänstprojekt., Nedan bilden visar projektstrukturen för det slutliga projektet.
låt oss titta på Jersey beroenden vi har i pom.xml-fil.
vi behöver inte lägga till jersey-klient beroenden men om du skriver java-program för att åberopa en REST webbtjänst med Jersey då det krävs.
nu ska vi titta på deployment descriptor att lära sig att konfigurera Jersey för att skapa vår webbapplikation.
det är allt som krävs för att plugin Jersey i vår webbapplikation, i vår java-kod kommer vi att använda JAX-RS-anteckningar., Lägg märke till värdet för init-parametern com.sun.jersey.config.property.packages
för att tillhandahålla paket som kommer att skannas efter webbtjänstresurser och metoder.
REST exempel Modell klasser
först av allt kommer vi att skapa två modell bönor – Person
för våra programdata ochResponse
för att skicka svar på klientsystem. Eftersom vi kommer att skicka XML-svar, bör bönorna annoteras med @XmlRootElement
, därför har vi den här klassen.,
REST Web Services Tutorial Services
baserat på vår Uri-struktur, nedan är servicegränssnittet och det är implementeringskod.
Restful Web Services Test
det är det. Vår webbtjänst är klar, bara exportera den som krigs fil och lägga den i Tomcat webapps katalog eller distribuera till någon annan behållare som du väljer.
nedan är några av de tester som utförs med hjälp av Postman chrome-tillägget för den här webbtjänsten. Observera att vi måste tillhandahålla Accept-och Innehållstypvärden som ”application / xml” I request header som visas i nedanstående bild.,
- getDummy
- Lägg till
- få
- getAll
- ta bort
det är allt för att skapa webbtjänster med hjälp av jersey JAX-RS-implementering. Som du kan se att det mesta av koden använder JAX-RS-anteckningar och Jersey är inkopplad via deployment descriptor och beroenden.,
RESTEasy RESTful Web Services exempel
Vi kommer att använda all affärslogik som utvecklats i Jersey-projektet, men i stället för att göra ändringar i samma projekt har jag skapat ett nytt projekt. Skapa ett dynamiskt webbprojekt och konvertera det till Maven project. Kopiera sedan alla java-klasser – Person, Svar, PersonService och PersonServiceImpl. Nedan är det slutliga projektet efter att vi är klara med alla ändringar.
Lägg till nedan RESTEasy beroenden i pom.xml-fil.
nedan är webben.xml-fil där vi konfigurerar Resteasy servlet.,
Lägg märke till init-param där MyApp
klass som värde, här utökar vi javax.ws.rs.core.Application
klass som visas nedan.
RESTEasy Web Services Test
det är det. Vår webbtjänst är klar med RESTEasy JAX-RS genomförande. Nedan är några av utdata från Postman chrome extension test.,
- getDummy
- Lägg till
- få
det är allt för vilsam Webbtjänsthandledning, jag hoppas att du lärde dig om JAX-RS-anteckningar och förstod vad som hände.fördelarna med att ha standard API som hjälpte oss att återanvända kod och flytta från Jersey till resteasy så lätt.