Witamy w Restful Web Services Tutorial in Java. REST jest akronimem Reprezentacyjnego transferu stanu. REST to styl architektoniczny do tworzenia aplikacji, które mogą być dostępne przez sieć. Styl architektoniczny REST został przedstawiony przez Roya Fieldinga w jego pracy doktorskiej w 2000 roku.
Restful Web Services
Restful Web Services to bezstanowa architektura klient-serwer, w której Usługi internetowe są zasobami i mogą być identyfikowane po ich Uri.,
aplikacje klienckie REST mogą używać metod HTTP GET / POST do wywoływania Usług Sieciowych Restful. REST nie określa żadnego konkretnego protokołu do użycia, ale w prawie wszystkich przypadkach jest używany przez HTTP / HTTPS. W porównaniu z usługami sieciowymi SOAP są one lekkie i nie spełniają żadnych standardów. Możemy użyć XML, JSON, tekst lub inny rodzaj danych do żądania i odpowiedzi.
Java RESTful Web Services API
Java API for RESTful Web Services (JAX-RS) to Java API do tworzenia REST web services., JAX-RS wykorzystuje adnotacje w celu uproszczenia tworzenia i wdrażania usług internetowych. JAX-RS jest częścią JDK, więc nie musisz niczego dołączać, aby używać jego adnotacji.
RESTful Web Services Adnotations
niektóre z ważnych adnotacji JAX-RS to:
-
@Path
: używane do określenia względnej ścieżki klas i metod. Możemy uzyskać URI usługi webservice skanując wartość adnotacji Path., -
@GET
,@PUT
,@POST
,@DELETE
I@HEAD
: używane do określa typ żądania HTTP dla metody. -
@Produces
,@Consumes
: służy do określania typów żądań i odpowiedzi. -
@PathParam
: służy do powiązania parametru metody z wartością ścieżki przez jej parsowanie.
Restful Web Services and SOAP
- SOAP jest protokołem, podczas gdy REST jest stylem architektonicznym.,
- aplikacje serwera SOAP i klienta są ściśle powiązane i wiążą się z umową WSDL, podczas gdy w REST web services i kliencie nie ma umowy.
- krzywa uczenia się jest łatwa do odpoczynku w porównaniu z usługami sieciowymi SOAP.
- REST web services request and response types can be XML, JSON, text etc. natomiast SOAP działa tylko z XML.
- JAX-RS jest API Java dla REST web services, podczas gdy JAX-WS jest API Java dla SOAP web services.
implementacje REST API
istnieją dwie główne implementacje JAX-RS API.,
- Jersey: Jersey jest implementacją referencyjną dostarczoną przez Sun. Aby używać Jersey jako naszej implementacji JAX-RS, wystarczy skonfigurować jego servlet w web.xml i dodać wymagane zależności. Zauważ, że JAX-RS API jest częścią JDK, a nie Jersey, więc musimy dodać jego słoje zależności w naszej aplikacji.
- RESTEasy: RESTEasy jest projektem JBoss, który zapewnia implementację JAX-RS.
Java Restful Web Services Tutorial
zobaczmy, jak łatwo stworzyć Restful web Service używając Jersey, a następnie RESTEasy., Będziemy ujawniać następujące metody przez HTTP i używać rozszerzenia Chrome Postman do testowania tych.,d>
Jersey RESTful Web Services
utwórz dynamiczny projekt WWW, a następnie przekonwertuj go na Maven, aby uzyskać szkielet swojego projektu web services., Poniższy obrazek pokazuje strukturę projektu finalnego projektu.
spójrzmy na zależności Jersey, które mamy w pom.plik xml.
nie jesteśmy zobowiązani do dodawania zależności jersey-client, ale jeśli piszesz program java do wywoływania usługi internetowej REST przy użyciu Jersey, jest to wymagane.
teraz spójrzmy na deskryptor wdrażania, aby dowiedzieć się, jak skonfigurować Jersey do tworzenia naszej aplikacji internetowej.
to wszystko jest wymagane do wtyczki do naszej aplikacji internetowej, w naszym kodzie java będziemy używać adnotacji JAX-RS., Zwróć uwagę na wartość parametru init com.sun.jersey.config.property.packages
, aby zapewnić pakiet, który zostanie przeskanowany pod kątem zasobów i metod usługi sieciowej.
REST przykładowe klasy modeli
przede wszystkim stworzymy dwa modele – Person
dla danych naszej aplikacji oraz Response
dla wysyłania odpowiedzi do systemów klienckich. Ponieważ będziemy wysyłać odpowiedź XML, beans powinien być opatrzony adnotacją @XmlRootElement
, stąd mamy tę klasę.,
REST Web Services Tutorial Services
w oparciu o naszą strukturę URI poniżej znajduje się interfejs usługi i jego kod implementacyjny.
Restful Web Services Test
To wszystko. Nasz serwis internetowy jest gotowy, wystarczy wyeksportować go jako plik wojenny i umieścić w katalogu Tomcat webapps lub wdrożyć do dowolnego innego kontenera do wyboru.
poniżej przedstawiamy niektóre z testów wykonanych przy użyciu rozszerzenia Postman chrome dla tego serwisu internetowego. Zauważ, że musimy podać wartości Accept i Content-Type jako „application / xml” w nagłówku żądania, jak pokazano na poniższym obrazku.,
- getDummy
- dodaj
- get
- getall
- delete
to wszystko do tworzenia usług internetowych przy użyciu implementacji Jersey JAX-RS. Jak widać większość kodu używa adnotacji JAX-RS, A Jersey jest podłączony przez deskryptor wdrażania i zależności.,
RESTEasy RESTful Web Services Example
wykorzystamy całą logikę biznesową opracowaną w projekcie Jersey, ale zamiast wprowadzać zmiany w tym samym projekcie, stworzyłem nowy projekt. Utwórz dynamiczny projekt internetowy i przekonwertuj go do projektu Maven. Następnie skopiuj wszystkie klasy Javy-Person, Response, PersonService i PersonServiceImpl. Poniżej znajduje się ostateczny projekt po zakończeniu wszystkich zmian.
Dodaj poniżej resteasy zależności w pom.plik xml.
Poniżej znajduje się strona.plik xml gdzie konfigurujemy Resteasy servlet.,
zwróć uwagę na init-param, gdzie dostarczają MyApp
Klasa jako wartość, tutaj rozszerzamyjavax.ws.rs.core.Application
klasa Jak pokazano poniżej.
RESTEasy Web Services Test
To wszystko. Nasz serwis internetowy jest gotowy z implementacją RESTEasy JAX-RS. Poniżej znajdują się niektóre z wyników Postman chrome extension test.,
- getDummy
- dodaj
- get
to wszystko dla Restful Web Services Tutorial, mam nadzieję dowiedziałeś się o adnotacjach JAX-RS i zrozumiałeś korzyści płynące ze standardowego API, które pomogło nam w ponownym użyciu kodu i przejściu z Jersey do resteasy tak łatwo.