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.