Vítejte na Restful Web Services Tutorial v Javě. Zbytek je zkratka pro REpresentational State Transfer. REST je architektonický styl pro vývoj aplikací, ke kterým lze přistupovat přes síť. Zbytek architektonického stylu přinesl Roy Fielding ve své disertační práci v roce 2000.
Restful Web Services
Restful Web Services je architektura bez státní klient-server, kde webové služby jsou zdroje a mohou být identifikovány jejich Uri.,
rest klientské aplikace mohou používat metody HTTP GET/POST k vyvolání Restful webových služeb. REST nespecifikuje žádný konkrétní protokol k použití, ale téměř ve všech případech se používá přes HTTP/HTTPS. Ve srovnání s webovými službami SOAP jsou lehké a nedodržují žádný standard. Pro požadavek a odpověď můžeme použít XML, JSON, text nebo jakýkoli jiný typ dat.
Java RESTful Web Services API
Java API pro RESTful Web Services (JAX-RS) je Java API pro vytváření REST webových služeb., JAX-RS používá anotace pro zjednodušení vývoje a nasazení webových služeb. JAX-RS je součástí JDK, takže nemusíte nic zahrnout, abyste mohli používat anotace.
Rest Webové Služby Poznámky
Některé z důležitých JAX-RS popisy jsou:
-
@Path
: používá se k zadání relativní cesty, třídy a metody. URI webové služby můžeme získat skenováním hodnoty anotace cesty., -
@GET
@PUT
@POST
@DELETE
@HEAD
: používá se k zadání HTTP požadavku typu pro metodu. -
@Produces
@Consumes
: používá se k upřesnění žádosti a typy odezvy. -
@PathParam
: používá se k vázání parametru metody na hodnotu cesty analýzou.
Restful Web Services a SOAP
- SOAP je protokol, zatímco REST je architektonický styl.,
- SOAP server a klientské aplikace jsou pevně spojeny a svázány se smlouvou WSDL, zatímco v REST web services a klientovi neexistuje žádná smlouva.
- křivka učení je snadná pro odpočinek ve srovnání s webovými službami SOAP.
- request webových služeb a typy odpovědí mohou být XML, JSON, text atd. zatímco SOAP pracuje pouze s XML.
- JAX-RS je Java API pro REST webové služby, zatímco JAX-WS je Java API pro SOAP webové služby.
implementace REST API
existují dvě hlavní implementace JAX-RS API.,
- Jersey: Jersey je referenční implementace poskytovaná společností Sun. Pro použití Jersey jako naší implementace JAX-RS, vše, co potřebujeme nakonfigurovat jeho servlet na webu.xml a přidat požadované závislosti. Všimněte si, že Jax-RS API je součástí JDK není Jersey, takže musíme přidat jeho závislost sklenice v naší aplikaci.
- RESTEasy: RESTEasy je projekt JBoss, který zajišťuje implementaci JAX-RS.
Java Restful Web Services Tutorial
podívejme se, jak snadné vytvořit Restful web service pomocí Jersey a pak RESTEasy., Budeme odhalovat následující metody přes HTTP a použít Chrome Postman rozšíření testovat tyto.,d>
Jersey Restful Webové Služby
Vytvořit dynamický webový projekt a pak jej převést do Maven, aby si kostru webové služby projekt., Níže obrázek ukazuje strukturu projektu konečného projektu.
podívejme se na závislosti dresů, které máme v pom.xml soubor.
nejsme povinni přidávat závislosti jersey-client, ale pokud píšete program java pro vyvolání webové služby REST pomocí Jersey, je to nutné.
nyní se podívejme na Descriptor nasazení, abychom se dozvěděli, jak nakonfigurovat Jersey pro vytvoření naší webové aplikace.
to je vše, co je zapotřebí k pluginu Jersey do naší webové aplikace, v našem kódu java budeme používat anotace JAX-RS., Všimněte si hodnoty parametru init com.sun.jersey.config.property.packages
pro poskytnutí balíčku, který bude skenován pro zdroje a metody webových služeb.
REST příklad modelové třídy
nejprve vytvoříme dva modelové boby – Person
pro naše aplikační data a Response
pro odesílání odpovědí do klientských systémů. Protože budeme odesílat odpověď XML, fazole by měly být anotovány @XmlRootElement
, proto máme tuto třídu.,
REST Web Services Tutorial Services
na základě naší struktury URI je níže servisní rozhraní a implementační kód.
Restful Web Services Test
to je vše. Naše webová služba je připravena, stačí ji exportovat jako válečný soubor a vložit ji do adresáře Tomcat webapps nebo nasadit do jakéhokoli jiného kontejneru podle vašeho výběru.
níže jsou uvedeny některé z testů provedených pomocí rozšíření Postman chrome pro tuto webovou službu. Všimněte si, že v záhlaví požadavku musíme poskytnout hodnoty typu Accept a Content jako „application/xml“, jak je znázorněno na obrázku níže.,
- getDummy
- přidat
- získat
- getAll
- odstranit
to je pro vytváření webových služeb pomocí Jersey JAX-RS realizace. Jak můžete vidět, že většina kódu používá anotace JAX-RS a Jersey je připojeno pomocí deskriptoru nasazení a závislostí.,
RESTEasy RESTful Web Services Example
použijeme veškerou obchodní logiku vyvinutou v projektu Jersey, ale spíše než provádět změny ve stejném projektu jsem vytvořil nový projekt. Vytvořte dynamický webový projekt a převeďte jej na projekt Maven. Poté zkopírujte všechny třídy java-osoba, odpověď, PersonService a PersonServiceImpl. Níže je konečný projekt poté, co jsme hotovi se všemi změnami.
Přidat pod resteasy závislostí v pom.xml soubor.
níže je web.soubor xml, kde konfigurujeme Resteasy servlet.,
Všimněte si třídy init-param, která poskytuje hodnotu MyApp
, zde rozšiřujeme třídu javax.ws.rs.core.Application
, jak je uvedeno níže.
RESTEasy Web Services Test
to je vše. Naše webová služba je připravena s implementací RESTEasy JAX-RS. Níže jsou uvedeny některé z výstupů z testu rozšíření Postman chrome.,
- getDummy
- přidat
- získat
to je pro Restful Webové Služby Tutorial, Doufám, že jste se dozvěděli o JAX-RS popisy a zřejmé výhody, které mají standardní rozhraní API, která nám pomohla v opakované použití kódu a přesun z new Jersey do RESTEasy tak snadné.