API REST GOlang

API REST GOlang
In questo articolo, esploreremo il mondo di riposo creando una semplice API REST nel linguaggio di programmazione Go.

Golang Rest

Per motivi di semplicità, creeremo un semplice server di riposo che riceve una richiesta a un endpoint specifico e restituisce l'elenco dei prodotti in formato JSON.

Inizia creando un riposo.File GO che conterrà il codice per l'API:

Tocca Rest.andare

Gestire la funzione di richiesta HTTP

Nel resto.GO FILE, Importa i pacchetti richiesti:

importazione (
"FMT"
"tronco d'albero"
"net/http"
)

Il codice precedente importa il pacchetto HTTP FMT, Log e Net per gestire le richieste di errori, I/O e HTTP utilizzando la rete/HTTP. Avremo bisogno del pacchetto di codifica/JSON più avanti nel codice.

Per ora, le importazioni precedenti funzionano.

Il prossimo passo è creare una funzione che gestirà la richiesta a un endpoint specifico. Per i test, creeremo un endpoint di benvenuto che restituirà il messaggio "Ciao, benvenuto in API RESTful."

Possiamo farlo definendo una funzione che prende HTTP.Responsewriter e http.Richiesta.

Un esempio di codice è mostrato di seguito:

Func Welcome (W http.Responsewriter, r *http.Richiesta)
fmt.Fprintf (W, "Ciao, benvenuto in API RESTful.")

La funzione restituisce il messaggio all'utente quando viene premuto l'endpoint specificato.

Ora, definiamo l'endpoint disponibile sul nostro server e quale funzione eseguire quando il client colpisce quell'endpoint.

Nella funzione principale, aggiungere il codice come mostrato di seguito:

func main ()
http.Handlefunc ("/welcome", welcome) // crea endpoint
http.Ascolta

Il codice precedente utilizza HTTP.Metodo Handlefunc () e prende l'endpoint e la funzione da eseguire come parametri.

Il metodo ASSEGGIO ASSULTI ascolterà la porta specificata e quindi gestirà tutte le richieste in arrivo al server.

Successivamente, eseguire il codice precedente per garantire che tutto funzioni correttamente. Apri il browser e l'accesso, http: // localhost: 8080/welcome

Questo dovrebbe restituire il messaggio come definito nel nostro codice precedente.

Con le basi fuori mano, possiamo procedere a creare un'API più interessante. Per la prossima sezione, dovrai importare il pacchetto codifica/JSON per codificare i dati JSON.

Creeremo una struttura che contiene i prodotti nel nostro stock. Di seguito è riportato un esempio struct:

Digita il prodotto struct
Id int 'json: "id"'
Product_name String 'JSON: "Nome"'
Price int 'json: "prezzo"'
Instock bool 'json: "stock"'

Successivamente, possiamo definire un tipo di prodotto di tipo che conterrà un array:

Digita Prodotti [] Prodotto

Il prossimo passo è impostare un endpoint per restituire i prodotti in formato JSON. Per questo, possiamo definire una semplice funzione chiamata getproducts come mostrato:

func getroducts (w http.Responsewriter, r *http.Richiesta)
Prodotti: = prodotti
Prodotto
ID: 1,
Product_name: "MacBook Pro",
Prezzo: 5999,
Instock: vero,
,

ID: 2,
Product_Name: "Amazon Echo",
Prezzo: 299,
Instock: falso,
,

JSON.NewenCoder (W).ENCODE (prodotti)

La funzione precedente prende le informazioni sui prodotti e le codifica.

Infine, possiamo aggiungere un gestore HTTP quando il client colpisce l'endpoint /prodotti nella funzione principale:

http.Handlefunc ("/Products", getProducts)

E con ciò, abbiamo la nostra API pronta per andare. Per testarlo, eseguire il resto.Vai al file e apri il browser all'indirizzo:

http: // localhost: 8080/prodotti

Questo dovrebbe restituire le informazioni JSON con le informazioni sul prodotto:

Conclusione

Questo conclude questo tutorial sulla creazione di una semplice API REST in GO. Sebbene semplicistico, funge da base per la costruzione di API più veloci e complesse. Speriamo che tu abbia trovato questo articolo utile. Dai un'occhiata ad altri articoli di suggerimento Linux per ulteriori suggerimenti e articoli.