API Golang REST

API Golang REST
Dans cet article, nous explorerons le monde du repos en créant une simple API de repos dans le langage de programmation Go.

Golang repos

Par souci de simplicité, nous créerons un serveur de repos simple qui reçoit une demande à un point de terminaison spécifique et renvoie la liste des produits au format JSON.

Commencez par créer un repos.go fichier qui contiendra le code de l'API:

tactile.aller

Gérer la fonction de demande HTTP

Dans le reste.GO FICHIER, Importez les packages requis:

importer (
"FMT"
"enregistrer"
"net / http"
)

Le code précédent importe le package FMT, Log et Net HTTP pour gérer les erreurs, les E / S et les demandes HTTP à l'aide du net / http. Nous aurons besoin du package d'encodage / JSON plus tard dans le code.

Pour l'instant, les importations précédentes fonctionneront.

L'étape suivante consiste à créer une fonction qui traitera la demande à un point de terminaison spécifique. Pour les tests, nous créerons un point de terminaison de bienvenue qui renverra le message «Salut, bienvenue aux API RESTFUL."

Nous pouvons le faire en définissant une fonction qui prend http.Responsewriter et HTTP.Demande.

Un exemple de code est illustré ci-dessous:

Func Welcome (w http.Réponsewriter, r * http.Demande)
fmt.Fprintf (w, "Salut, bienvenue aux API RESTFul.")

La fonction renvoie le message à l'utilisateur lorsque le point de terminaison spécifié est touché.

Maintenant, définissons le point de terminaison disponible sur notre serveur et la fonction à exécuter lorsque le client atteint ce point de terminaison.

Dans la fonction principale, ajoutez le code comme indiqué ci-dessous:

func main ()
http.Handlefunc ("/ bienvenue", bienvenue) // Créer un point de terminaison
http.ÉcouterAndserve («: 8080», nil) // écoute et servir

Le code précédent utilise le HTTP.HandleFunc () Méthode et prend le point de terminaison et la fonction pour exécuter comme les paramètres.

La méthode écouterAndServe écoutera sur le port spécifié, puis gérera toutes les demandes entrantes au serveur.

Ensuite, exécutez le code précédent pour vous assurer que tout fonctionne correctement. Ouvrez votre navigateur et accès, http: // localhost: 8080 / bienvenue

Cela devrait renvoyer le message tel que défini dans notre code précédent.

Avec les bases à l'écart, nous pouvons procéder à la création d'une API plus intéressante. Pour la section suivante, vous devrez importer le package d'encodage / JSON pour coder les données JSON.

Nous allons créer une structure qui contient les produits de notre stock. Un exemple de structure est fourni ci-dessous:

Type de produit Struct
Id int 'json: "id"'
Product_name String 'JSON: "Name"'
Prix ​​int 'json: "prix"'
Insock Bool 'JSON: "Stock"'

Ensuite, nous pouvons définir un type de produits de type produit qui contiendra un tableau:

Type Products [] Produit

L'étape suivante consiste à configurer un point de terminaison pour retourner les produits au format JSON. Pour cela, nous pouvons définir une fonction simple appelée GetProducts comme indiqué:

func getProducts (w http.Réponsewriter, r * http.Demande)
Produits: = produits
Produit
ID: 1,
Product_name: «MacBook Pro»,
Prix: 5999,
Insock: vrai,
,

ID: 2,
Product_name: "Amazon Echo",
Prix: 299,
Insock: faux,
,

json.NewEncoder (w).Encoder (produits)

La fonction précédente prend les informations sur les produits et le code.

Enfin, nous pouvons ajouter un gestionnaire HTTP lorsque le client atteint le point de terminaison / Products dans la fonction principale:

http.Handlefunc ("/ produits", getProducts)

Et avec ça, nous avons notre API prête à partir. Pour le tester, exécutez le reste.Allez fichier et ouvrez votre navigateur à l'adresse:

http: // localhost: 8080 / produits

Cela devrait renvoyer les informations JSON avec les informations du produit:

Conclusion

Cela conclut ce tutoriel sur la mise en place d'une simple API de repos dans Go. Bien que simpliste, il sert de base à la construction d'API plus rapide et plus complexe. Nous espérons que vous avez trouvé cet article utile. Découvrez d'autres articles sur les conseils pour plus de conseils et d'articles.