Come utilizzare un’API con Java (The Complete Beginner’s Guide)

In questo articolo, parleremo della migliore tecnologia dell’interazione tra software e testarlo sul linguaggio più popolare per la creazione di software.

Che cosa è Java REST API?

Questa è una domanda difficile, quindi la divideremo in alcune parti. Java è uno dei linguaggi di programmazione più popolari al mondo. Secondo la classifica TIOBE (che ordina le lingue in base al loro indice di popolarità), è in realtà il più popolare. Ci sono molte ragioni per questo, ma preferiamo la tesi che Java sia diffuso, facile da implementare e abbia una casella degli strumenti magici “scrivi una volta, esegui ovunque”.

Stai cercando di creare un’API? Scopri Come creare un’API in Java

Ok, ma cos’è esattamente un’API?

Beh, API sta per Application Programming Interface.

In breve, è un insieme di regole che controlla l’interazione tra software (cioè, un oggetto che riceve un compito e un oggetto che dà questo compito). API ci permette di saltare l’immersione in profondità nel codice sorgente di alcuni software di terze parti, mentre ci permette di utilizzare i loro privilegi facile e veloce.

Come funziona questa interfaccia?

Prima di tutto, un’API dovrebbe avere un host-URL (o URL di base), che è l’indirizzo principale con cui interagirai.

Inoltre, le API hanno un set predefinito di endpoint-indirizzi univoci all’interno dell’host-URL, responsabili della loro funzionalità. Inoltre, le API dovrebbero avere una documentazione che spieghi tutti gli endpoint,i tipi di valori restituiti, ecc.

Dopo aver trovato un’API interessante e letto la documentazione, è necessario inviare una richiesta-una singola attività per il server (lato ricevente).

Metaforicamente, è come una conversazione tra due persone: qualcuno (tu) fa una domanda (richiesta) e l’interlocutore (endpoint) risponde (risposta).

Tipi di richieste API

Ci sono molti tipi diversi di richieste che API potrebbe gestire, ma qui ci sono quelli più utilizzati:

  • GET – restituisce i dati dal server. La richiesta più popolare tra l’altro.
  • POST-aggiunge nuovi dati sul server. Spesso questo tipo viene utilizzato per la registrazione o il caricamento di file.
  • PUT / PATCH-aggiorna i dati, richiesta utile ma non così ricercato.
  • ELIMINA-rimuove i dati dal server.

Ok, abbiamo il significato della prima e dell’ultima parola in “Java REST API”.

Ma cosa significa REST?

Questo è lo stile di comunicazione software che aiuta un client a ottenere i dati richiesti nello stato well per la rappresentazione (REST-representational state transfer).

Quindi quando diciamo API REST, intendiamo API che non solo restituiscono i dati richiesti, ma li preparano anche per ulteriori lavori.

Ma come possiamo creare un’API RESTful? Tutto ciò che è richiesto – un gruppo di vincoli architettonici:

  • Architettura client-server – separazione chiara su due lati. Il client invia richieste e attende la risposta; il server assume quindi il ruolo opposto. Il motivo principale di questo vincolo: da un lato non si preoccupa di nulla tranne il formato corretto dell’interazione (non è un problema il modo in cui il server esegue la richiesta e viceversa).
  • Apolidia-indipendenza di ogni singola richiesta da tutte le richieste precedenti e future. Ad esempio, se si desidera inviare la domanda ” Quale cognome di Charlie?”, e poi seguire con ” Quanti anni ha?”, il server non sarebbe in grado di rispondere a quest’ultimo. Il server non salva alcuna informazione dal client e lo richiede in ogni richiesta.
  • Cacheability-invece del server, il client potrebbe (e dovrebbe anche) salvare alcuni dati sulla memoria locale (cache). Aumenta la produttività, per quanto il numero di richieste sarà inferiore.
  • Sistema a livelli: il server dovrebbe includere livelli per diverse parti del processo. È utile perché i livelli non sanno nulla l’uno dell’altro e il server potrebbe essere facilmente scalato con nuovi livelli (ad esempio, sicurezza).
  • Interfaccia uniforme-ogni endpoint deve essere con un indirizzo univoco. Semplice, utile e necessario.

Ora che abbiamo tutte le informazioni sulle API RESTful Java, proviamolo!

Prerequisiti

In primo luogo, è necessario avere Java installato sulla macchina.

Inoltre, dovresti avere un generatore di pacchetti Maven per una facile installazione e utilizzo di pacchetti di siti. Oltre a questo, avremo solo bisogno della libreria Unirest per fare richieste senza problemi e in poche righe.

Qui puoi guardare l’esempio di codice che fa una richiesta per moduli standard:

Sembra piuttosto difficile, giusto? Soprattutto InputStream come tipo di valore restituito (dovrebbe essere ulteriormente elaborato).

Diamo un’occhiata allo stesso esempio con Unirest:

Voilà! È possibile assegnare il tipo di risposta previsto e lavorare con esso subito.

Puoi usare Unirest con l’aiuto di Maven, quindi creare un progetto Java Maven e trovare il pom.file xml-mostra tutte le dipendenze e gli strumenti del progetto. Inserisci la parte successiva del codice XML nel tag<dependencies>:

<dependency> <groupId>com.mashape.unirest</groupId> <artifactId>unirest-java</artifactId> <version>1.4.9</version></dependency>

Informazioni più dettagliate sulle dipendenze possono essere trovate qui.

Ora puoi costruire il tuo progetto con il comando successivo nel terminale (fai attenzione, usalo solo nella cartella principale, perché pom.xml dovrebbe essere visibile per Maven):
mvn package

Ora sei pronto per usare Java per interagire con le API.

Panoramica

Prima di iniziare, dovremo trovare un’API facile da testare. A volte è difficile trovare API gratuite e utili a scopo di test. A RapidAPI, troverete oltre 10.000 API per testare e connettersi con. Qui puoi testare le tue capacità di programmazione, creare app utili e persino creare le tue API.

Come iniziare a utilizzare le API con Java

Iscriviti a RapidAPI

Come accennato in precedenza, RapidAPI ha oltre 10.000 API per iniziare. E con oltre 1 milione di sviluppatori che utilizzano la sua piattaforma, è una delle piattaforme API più popolari e affidabili.

Quindi clicca qui per iniziare, è gratuito.

Trova un’API

Ora che hai un account utente, troviamo un’API con cui giocare.

Acceso RapidAPI.com, puoi trovare le API sfogliando:

  • Categorie (esempio: Gaming API)
  • Cerca
  • Raccolte curate sulla Homepage

Proviamo a cercare l’API IMDb per ottenere alcune informazioni su TV e film:

Iscriviti all’API

Per iniziare a utilizzare questa API, dovrai prima iscriverti ad essa. (Suggerimento: c’è un piano freemium che consente 1000 richieste API gratuite/giorno). Ti verrà richiesto di inserire la carta di credito nel caso in cui si incorrere in eccedenze.

Se vuoi provare alcune API gratuite (senza carta di credito), sfoglia questa raccolta.

Una volta che sei iscritto, ora sei pronto per testare gli endpoint.

Prova gli endpoint

Esploriamo tutti gli endpoint presenti in questa API. Guardate sul lato sinistro della pagina delle API:

IMDb API ha solo due endpoint:

  1. GET By Search ricerca IMDb database tramite query string
  2. GET By ID or Title ottenere informazioni più dettagliate su un determinato titolo (include informazioni su film/tv, cast, produzione, e di più).

Su uno degli endpoint API, compilare tutti i parametri richiesti e fare clic su “Test Endpoint”.

Sul lato destro, puoi vedere la parte snippet, in cui gli sviluppatori mostrano come connettersi a questa API con qualsiasi lingua supportata.

Per questa API, dobbiamo aggiungere due intestazioni (nome univoco API e il nostro token RapidAPI). Tutti gli altri parametri dipendono dall’endpoint concreto. Esploriamo tutti gli endpoint presenti in questa API. Guarda sul lato sinistro della pagina principale.

Recuperare i dati utilizzando l’API

Va bene, essere pronti, è il momento per la codifica. Scopriamo tutto su alcuni famosi film che esiste all’interno dei dati imdb. Ritorna al tuo codice e importa le cose successive:

Qui importiamoURLEncoder per preparare i parametri da inviare e 3 oggetti richiesti dalla libreria Unirest:

  1. per gestire una risposta (HttpResponse),
  2. assegnando il tipo JSON ad esso (JsonNode),
  3. e facendo una richiesta GET (Unirest).

Ora creiamo la tua classe principale, dove tutto il codice sarà:

public class App{ public static void main( String args ) throws Exception { //Here will be your code }}

Non dimenticare l’eccezione. È necessario gestire tutti gli avvisi e gli errori per migliorare il progetto.

Ok, ora creiamo alcune variabili stringa per automatizzare alcuni processi:

Ora che abbiamo creato la query, inviamo una richiesta e gestiamo la risposta:

Come puoi vedere, è piuttosto semplice.

Per creare una richiesta, utilizzare una libreria Unirest con la funzione GET.

Presta attenzione alle intestazioni: possiamo aggiungerle usando i punti per la divisione.

Dopo aver effettuato una richiesta e gestito la sua risposta dall’oggetto HttpResponse, possiamo vedere il risultato.

First println mostra il codice di stato della risposta – un breve numero che spiega la situazione con le nostre azioni richieste.

Nel nostro caso, se tutto va bene, dovrebbe restituire uno stato 200 – OK.

Il secondo println, a sua volta, mostra una delle intestazioni di risposta – “Content-Type”.

Vediamo cosa dovremmo ottenere con la console API integrata in RapidAPI. Basta inserire la query nei campi del modulo e fare clic su “Test Endpoint”:

Dovresti vedere lo stesso risultato visto nello screenshot qui sopra.

Ora, controlliamo il nostro codice. Esegui il tuo programma e dovresti vedere:

200

Ottieni una risposta JSON

Nella sezione codice precedente, abbiamo usato un oggetto JsonNode per assegnare il tipo di formato JSON alla risposta.

Il problema è che l’oggetto JsonNode predefinito stampa i dati in una singola riga, il che è piuttosto difficile da capire. Aggiungiamo una libreria per prettifying data-GSON. Modifica il tuo pom.file xml con successiva dipendenza:

<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version></dependency>

Ora aggiungiamo alcune righe di importazione nella sezione importa del tuo *.file java:

Questi oggetti ci aiuteranno a stampare il nostro JSON. Va bene, ora possiamo chiamare l’endpoint e di ottenere una risposta:

Se tutto va bene, si dovrebbe vedere la seguente risposta:

Esempio: Utilizzo di Java & Api per continuare e Visualizzare altri tipi di Dati

Come si ricorderà, l’intestazione Content-Type del precedente richieste “application/json”, ma cosa succede se si desidera inviare/ricevere qualcosa che non può essere elaborata in JSON?

Ad esempio, un file o un’immagine?

Proviamo a dimostrarlo con l’API del generatore di Meme.

Meme Generator API è costituito da 5 endpoint:

  • Generare meme
  • Ottenere font
  • Carica Immagine
  • Caricare font
  • immagini

prendiamo Generare meme endpoint:

in Primo luogo, andiamo a modificare le nostre importazioni con l’aggiunta di queste righe all’inizio del nostro codice:

import java.io.InputStream;import java.io.File;import java.awt.image.BufferedImage;import javax.imageio.ImageIO;

Ora, incollare il seguente frammento di codice all’interno del metodo main:

Qui ci occupiamo di raw corpo della risposta nel InputStream oggetto. Il passo successivo è quello di leggerlo nel BufferedImage oggetto – immagine dinamica nella memoria del programma.

Infine, creiamo (o aggiorniamo) un’immagine.file jpg e salvare il buffer al suo interno. Questo dovrebbe produrre quanto segue:


Come puoi vedere, l’API ritorna a un oggetto immagine.

Per vedere l’immagine reale, controlliamo la cartella principale del nostro progetto e dovresti trovare:

Conclusione

In questa guida, abbiamo studiato come usare RapidAPI per creare un’eccitante e utile applicazione Java REST API e provato alcune API utili per cancellare i momenti chiave di questa tecnica.

  • Come Utilizzare Un’API
    • Python
    • Con PHP
    • JavaScript
      • Con Reagiscono
        • Axios
      • Con NodeJS
      • Con VueJS
    • Con Ruby on Rails
    • Con C#
    • in Google Fogli di lavoro
  • Come Creare una API Java
  • Lista di API REST Tutorial
  • Come utilizzare le API di Twitter con Java
  • Come utilizzare il Skyscanner API Java
  • Come utilizzare la Finanza di Finance API Java

FAQ

Come si può creare un’API in Java?

Dai un’occhiata a questi tutorial API Java su come creare un’API.

Java è un’API?

Java è un linguaggio di programmazione.

Le API sono un insieme di definizioni e protocolli che consentono ai prodotti e ai servizi tecnologici di comunicare tra loro.

Un’API (Java Application Programming Interface) può fare riferimento al Java Development kit (JDK) o alle API accessibili tramite Java.

JSON è un’API?

Related Posts

Lascia un commento

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