HTML.it logo
Learn
  • Design
    • Grafica
    • User Interface Design
    • Adobe Creative Suite
    Guide
    Approfondimenti
    Faq
    Notizie
    Tutto in Design >
  • Development
    • .NET
    • ASP
    • CMS
    • Flash
    • Java
    • JavaScript
    • PHP
    • Essentials
    • Ruby
    • XML
    • Editor
    • CSS
    • HTML
    Guide
    Approfondimenti
    Script
    Faq
    Notizie
    Tutto in Development >
  • Mobile
    • Android Studio
    • Cordova
    • Eclipse
    • Objective C
    • Swift
    Guide
    Approfondimenti
    Script
    Faq
    Notizie
    Tutto in Mobile >
  • Server
    • Cloud
    • Database
    • OS
    • Sicurezza
    • Network
    Tutto in Server >
  • Digital Marketing
    • SEO
    • Affiliate Marketing
    • Social Media Marketing
    Tutto in Digital Marketing >
  • Makers
    • Arduino
    • RaspberryPi
    • Stampa 3D
    Guide
    Approfondimenti
    Notizie
    Tutto in Makers >
  • Game Design
    • Unity
    Guide
    Approfondimenti
    Notizie
    Tutto in Game Design >
Download
  • Audio e Video
    • Player Audio Video
    • Codec audio
    • Montaggio
    • Masterizzazione
    • Ripper e Convertitori
    • Speech
    Tutto in Audio e Video >
  • Educazione
    • Bambini
    • Cartoni in Streaming
    • Cucina
    • Salute e Benessere
    • Didattica
    • Istruzione
    • Giochi Didattici
    Tutto in Educazione >
  • Videogame
    • Arcade
    • Avventura
    • Azione
    • Board
    • Carte
    • Giochi di ruolo
    • Giochi Online
    • Puzzle e Enigmistica
    • Simulazione
    • Sparatutto
    • Sport
    • Strategia e Giochi di Guerra
    • Tempo Libero
    Tutto in Videogame >
  • Grafica
    • Accessori & Mappe
    • Animazione
    • CAD – 3D
    • Cattura schermo
    • Convertitori e ridimensionatori
    • Editor
    • Flash
    • Font
    • Ritocco
    • Gallerie e album
    • Icone e loghi
    • Visualizzatori
    Tutto in Grafica >
  • Internet
    • Browser
    • Chat e IM
    • eMail
    • Estensioni & Temi
    • FTP
    • Network
    • News e RSS
    • Peer to Peer
    • Webcam
    Tutto in Internet >
  • Programmazione
    • Accessori
    • CMS e E-Commerce
    • Editor e Compilatori
    • Editor e strumenti Web
    • Linguaggi
    Tutto in Programmazione >
  • Sicurezza
    • Antispam
    • Antispyware
    • Antivirus
    • Server
    Tutto in Sicurezza >
  • Produttività
    • Backup
    • Compressione
    • Connettività
    • Database
    • Fax e Telefonia
    • Gestione disco
    • Ottimizzazione
    • Ufficio
    • Utilità di Sistema
    Tutto in Produttività >
Auto
  • Accessori Auto
  • Gare
  • Utility
Casa
  • Home Design
  • Home Security
  • IoT
  • Progettazione
  • Smart Home
Notizie
Video
Forum
in  
Trend
GuideHTMLJavaLinguaggio CPythonJavaScriptPHPC++CSSAndroidApprofondimenti
INDICE DELLA GUIDA
  1. 1 RESTful Web Services in Java con Jersey, introduzione

  2. 2 RESTful Web Services in Java con Jersey, il progetto

  3. 3 RESTful Web Services in Java con Jersey: deploy, test e oggetti

  4. 4 RESTful Web Services in Java con Jersey: servizi di progetto e test

  5. 5 RESTful Web Services in Java con Jersey: Filtri e listener

  6. lezione
    6 di 6

    RESTful Web Services in Java con Jersey: il client

  • Learn
  • RESTful Web Services in Java con Jersey
  • RESTful Web Services in Java con Jersey: il client
lezione
6 di 6

RESTful Web Services in Java con Jersey: il client

  • di Francesco Cioffi
  • 9 Marzo 2017

Nei capitoli precedenti abbiamo appreso come realizzare servizi REST. Jersey ci viene in aiuto anche per realizzare componenti lato client, quindi moduli software per l’interrogazione di servizi. Vedremo ora qualche esempio per interrogare i servizi appena realizzati per la nostra libreria, ponendoci stavolta dal punto di vista del client.

Dipendenze

Per procedere rapidamente con la creazione di metodi di test procederemo sfruttando JUnit che già dovrebbe essere incluso come dipendenza nel POM del nostro progetto. Andiamo quindi a creare la directory src/test/java e contestualmente aggiungiamo le seguenti dipendenze al file pom.xml:


<dependency>
	<groupId>org.glassfish.jersey.core</groupId>
	<artifactId>jersey-client</artifactId>
	<version>2.23.2</version>
</dependency>
<dependency>
	<groupId>org.glassfish.jersey.media</groupId>
	<artifactId>jersey-media-json-jackson</artifactId>
	<version>2.23.2</version>
</dependency>

Metodo GET di esempio

Creiamo ora la classe BookTest all’interno della directory appena creata ed implementiamo il metodo per fare una semplice richiesta di un libro.


public class BookTest extends TestCase {
	 	

	public void testGet() {
		Client client = ClientBuilder.newClient();
		WebTarget target = client.target("http://localhost:8080/api").path("books").path("1");
		Response response = target.request().get();
		System.out.println("Response code: " + response.getStatus());
		Book book = response.readEntity(Book.class);
		System.out.println("Title: " + book.getTitle());
	}
}

La classe BookTest estende la classe TestCase. Il nome del metodo di test deve iniziare con “test”. Quindi è possibile avviare il test da terminale con Maven tarmite il comando:


mvn test

Ovviamente in parallelo dobbiamo aver avviato il server.


mvn jetty:run

Se tutto è andato per il verso giusto nel nostro terminale visualizzeremo, oltre al codice di riposta “200”, il titolo del libro.

Metodo POST di esempio

Andiamo ora ad implementare il metodo di test per l’aggiunta di un nuovo libro alla nostra libreria. Vediamo come, anche in questo caso, Jersey ci viene in aiuto per facilitarci il compito. Implementiamo un nuovo metodo all’interno della stessa classe che abbiamo appena usato.


public void testAdd() {
	Client client = ClientBuilder.newClient();
	WebTarget target = client.target("http://localhost:8080/api").path("books");
	Book book = new Book();
	book.setTitle("Test");
	book.setLanguage("english");
	Response response = target.request().post(Entity.entity(book, MediaType.APPLICATION_JSON));	
	System.out.println("Response code: " + response.getStatus());
}

Questa volta abbiamo creato la richiesta partendo dall’oggetto Book lasciando al framework il compito di trasformarne il contenuto in JSON. Possiamo avviare il test allo stesso modo.

Concludendo, abbiamo visto come sia possibile con Jersey implementare anche la parte client di servizi REST in modo rapido, senza doversi preoccupare delle fasi di serializzazione degli oggetti, lasciando eseguire al framework il parsing fra i JSON e gli oggetti Java.

Se vuoi aggiornamenti su Java, Web Service inserisci la tua e-mail nel box qui sotto:

Se vuoi ricevere informazioni personalizzate compila anche i seguenti campi:

Ultime notizie

Google Cloud Services Platform in beta

Cybersecurity: nelle aziende manca una cultura della sicurezza

Marzipan: App universali per iOS e MacOS?

Pagina 404: l’importanza del design

(In)sicurezza dei Password manager

I Video di HTML.it

Premiazione edizione italiana Imagine Cup 2013

Percorsi formativi correlati
Android Mobile Developer

Android Mobile Developer

5
guide
250 ore

Tutti i linguaggi per diventare uno sviluppatore di app per Android.

DB Administrator

DB Administrator

4
guide
80 ore

Come creare applicazioni per il Web con PHP e MySQL per il DBMS.

iOS Mobile Developer

iOS Mobile Developer

4
guide
180 ore

Tutte le principali tecnologie per diventare uno sviluppatore mobile per iOS.

Java Developer

Java Developer

7
guide
300 ore

I fondamentali per lo sviluppo di applicazioni multi piattaforma con Java.

Java Security Expert

Java Security Expert

5
guide
120 ore

Diventare degli esperti in tema di sicurezza delle applicazioni Java.

Maker

Maker

2
guide
50 ore

Usare Raspberry Pi e Arduino per avvicinarsi al mondo dei Maker e dell’IoT.

NoSQL DB Expert

NoSQL DB Expert

5
guide
200 ore

Le principali guide di HTML.it per diventare un esperto dei database NoSQL.

PHP Cloud Developer

PHP Cloud Developer

7
guide
80 ore

Ecco come i professionisti creano applicazioni per il Cloud con PHP.

PHP Developer

PHP Developer

5
guide
100 ore

Lo sviluppo professionale di applicazioni in PHP alla portata di tutti.

PHP e JavaScript Developer

PHP e JavaScript Developer

6
guide
100 ore

Come sviluppare applicazioni Web dinamiche con PHP e JavaScript.

PHP Framework Expert

PHP Framework Expert

6
guide
120 ore

Realizzare applicazioni per il Web utilizzando i framework PHP.

PHP SysAdmin

PHP SysAdmin

6
guide
80 ore

Creare applicazioni PHP e gestire l’ambiente di sviluppo come un pro.

Sviluppare un eCommerce con PHP

Sviluppare un eCommerce con PHP

5
guide
120 ore

Fare gli eCommerce developer con Magento, Prestashop e WooCommerce.

Web &amp; Mobile Designer

Web & Mobile Designer

5
guide
300 ore

Percorso base per avvicinarsi al web design con un occhio al mobile.

WordPress Developer

WordPress Developer

5
guide
150 ore

Realizzare siti Web e Web application con WordPress a livello professionale.

Ti consigliamo anche

REST API e Database: la guida

  • 3 Lezioni
  • Facile

Guida pratica allo sviluppo di servizi REST per l’interfacciamento con un database MySQL, usando il linguaggio PHP per la business logic lato server.

  • PHP: meno ricerche = meno utilizzatori?
  • Creare un e-commerce con PHP

Web Service, SOAP e PHP 5

Come gestire un Web Service basato su SOAP con la classe SoapServer del linguaggio PHP 5

  • HHVM 4.0 senza supporto a PHP
  • PHPixie: framework PHP modulare e moderno

RESTful Web Services in Java con Jersey: approfondimenti

Testare facilmente le API RESTful con Postman

Artifactory, gestione avanzata di repository Maven

  • Guide
  • Approfondimenti
  • Script
  • Q&A
  • Software
  • Tutorial
  • Videogiochi
  • Tag Software
  • News
  • Video
  • Forum
  • Chi siamo
  • Pubblicità
  • Contatti
  • Cookie policy
  • Privacy policy
  • Privacy Policy Newsletter
© HTML.it 1997-2019 | Triboo Media – P. IVA 06933670967 | HTML.it è un periodico telematico reg. Trib. Roma n. 309/2008 | 2.10.3