Welcome to Our Website

Restful Web Services Tutorial in Java (Italiano)

Benvenuti a Restful Web Services Tutorial in Java. REST è l’acronimo di REpresentational State Transfer. REST è uno stile architettonico per lo sviluppo di applicazioni accessibili tramite la rete. RESTO stile architettonico è stato portato in luce da Roy Fielding nella sua tesi di dottorato nel 2000.

Restful Web Services

Restful Web Services è un’architettura client-server stateless in cui i servizi Web sono risorse e possono essere identificati dai loro URI.,

Le applicazioni client REST possono utilizzare i metodi HTTP GET / POST per richiamare i servizi Web Restful. REST non specifica alcun protocollo specifico da utilizzare, ma in quasi tutti i casi viene utilizzato su HTTP/HTTPS. Rispetto ai servizi Web SOAP, questi sono leggeri e non seguono alcun standard. Possiamo usare XML, JSON, testo o qualsiasi altro tipo di dati per la richiesta e la risposta.

Java RESTful Web Services API

Java API for RESTful Web Services (JAX-RS) è l’API Java per la creazione di servizi Web REST., JAX-RS utilizza annotazioni per semplificare lo sviluppo e la distribuzione di servizi web. JAX-RS fa parte di JDK, quindi non è necessario includere nulla per utilizzare le sue annotazioni.

Annotazioni Restful Web Services

Alcune delle importanti annotazioni JAX-RS sono:

  • @Path: utilizzate per specificare il percorso relativo di classe e metodi. Possiamo ottenere l’URI di un servizio Web scansionando il valore di annotazione del percorso.,
  • @GET, @PUT, @POST, @DELETE e @HEAD: utilizzato per specificare il tipo di richiesta HTTP per un metodo.
  • @Produces, @Consumes: utilizzato per specificare i tipi di richiesta e risposta.
  • @PathParam: utilizzato per associare il parametro del metodo al valore del percorso analizzandolo.

Restful Web Services e SOAP

  1. SOAP è un protocollo mentre REST è uno stile architettonico.,
  2. Le applicazioni server e client SOAP sono strettamente accoppiate e si legano al contratto WSDL mentre non esiste alcun contratto nei servizi Web REST e nel client.
  3. La curva di apprendimento è facile per REST rispetto ai servizi Web SOAP.
  4. I tipi di richiesta e risposta dei servizi Web REST possono essere XML, JSON,text ecc. mentre SOAP funziona solo con XML.
  5. JAX-RS è l’API Java per i servizi Web REST mentre JAX-WS è l’API Java per i servizi Web SOAP.

Implementazioni API REST

Esistono due implementazioni principali dell’API JAX-RS.,

  1. Jersey: Jersey è l’implementazione di riferimento fornita da Sun. Per utilizzare Jersey come la nostra implementazione JAX-RS, tutto ciò di cui abbiamo bisogno per configurare il suo servlet nel web.xml e aggiungere dipendenze richieste. Si noti che l’API JAX-RS fa parte di JDK non Jersey, quindi dobbiamo aggiungere i suoi jar di dipendenza nella nostra applicazione.
  2. RESTEasy: RESTEasy è il progetto JBoss che fornisce l’implementazione di JAX-RS.

Java Restful Web Services Tutorial

Vediamo quanto sia facile creare un servizio web Restful utilizzando Jersey e quindi RESTEasy., Esporremo i seguenti metodi su HTTP e utilizzeremo l’estensione Chrome Postman per testarli.,d>

GET Restituisce un manichino persona oggetto /persona/add POST consente di aggiungere una persona /persona/{id}/elimina GET Eliminare la persona con ‘id’ in URI /persona/getAll GET Ottenere tutte le persone /persona/{id}/get GET Ottenere la persona con ‘id’ in URI

Jersey Restful Web Services

Creare un dynamic web project e poi convertire Maven per ottenere lo scheletro dei suoi servizi web di progetto., Sotto immagine mostra la struttura del progetto del progetto finale.

Diamo un’occhiata alle dipendenze Jersey che abbiamo in pom.file xml.

Non è necessario aggiungere dipendenze jersey-client, ma se si sta scrivendo un programma java per richiamare un servizio Web REST utilizzando Jersey, è necessario.

Ora diamo un’occhiata al descrittore di distribuzione per imparare come configurare Jersey per creare la nostra applicazione web.

Questo è tutto ciò che è necessario per inserire Jersey nella nostra applicazione web, nel nostro codice java useremo le annotazioni JAX-RS., Si noti il valore del parametro init com.sun.jersey.config.property.packages per fornire il pacchetto che verrà scansionato per risorse e metodi del servizio Web.

REST Example Model Classes

Prima di tutto creeremo due bean modello – Person per i nostri dati applicativi eResponse per l’invio di risposta ai sistemi client. Poiché invieremo la risposta XML, i bean dovrebbero essere annotati con @XmlRootElement, quindi abbiamo questa classe.,

REST Web Services Tutorial Services

Sulla base della nostra struttura URI, di seguito è riportata l’interfaccia del servizio e il suo codice di implementazione.

Restful Web Services Test

Questo è tutto. Il nostro servizio web è pronto, basta esportarlo come file WAR e metterlo all’interno della directory Tomcat webapps o distribuirlo in qualsiasi altro contenitore a scelta.

Di seguito sono riportati alcuni dei test eseguiti utilizzando Postman chrome extension per questo servizio web. Si noti che dobbiamo fornire valori Accept e Content-Type come “application/xml” nell’intestazione della richiesta come mostrato nell’immagine sottostante.,

  • getDummy
  • aggiungi
  • get
  • getAll
  • elimina

per la creazione di web services utilizzando Jersey JAX-RS attuazione. Come puoi vedere, la maggior parte del codice utilizza le annotazioni JAX-RS e Jersey è collegato tramite il descrittore di distribuzione e le dipendenze.,

RESTEasy RESTful Web Services Example

Useremo tutta la logica di business sviluppata nel progetto Jersey, ma piuttosto che apportare modifiche allo stesso progetto, ho creato un nuovo progetto. Creare un progetto web dinamico e convertirlo in progetto Maven. Quindi copiare tutte le classi java-Person, Response, PersonService e PersonServiceImpl. Di seguito è riportato il progetto finale dopo che abbiamo finito con tutte le modifiche.

Aggiungi sotto le dipendenze RESTEasy in pom.file xml.

Di seguito è riportato il web.file xml in cui stiamo configurando Resteasy servlet.,

Notare l’init-param dove stanno fornendoMyApp classe come valore, qui stiamo estendendojavax.ws.rs.core.Application classe come mostrato di seguito.

RESTEasy Web Services Test

Questo è tutto. Il nostro servizio web è pronto con l’implementazione RESTEasy JAX-RS. Di seguito sono riportati alcuni degli output di Postman chrome extension test.,

  • getDummy
  • aggiungi
  • get

questo è tutto per Restful Web Services Tutorial, Spero che hai imparato su JAX-RS annotazioni e capito i vantaggi di avere API standard che ci ha aiutato nel riutilizzo del codice e si spostano da Jersey a RESTEasy così facile.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *