DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Uncategorized»Construire une API RESTful avec Go et Gin
    Uncategorized

    Construire une API RESTful avec Go et Gin

    février 20, 2023
    Construire une API RESTful avec Go et Gin
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    Lorsqu’il s’agit de créer une API, Go est un choix de langage de programmation extrêmement populaire pour créer de puissantes API RESTful. Le langage est super léger, dispose de nombreuses bibliothèques et frameworks différents et est facile à exécuter. L’un des frameworks pris en charge par Go est Gin. Gin est un framework Web écrit en Golang qui offre d’excellentes performances et évolutivité, entre autres fonctionnalités. Selon le site Web de Gin, « Gin propose une API de type Martini, mais avec des performances jusqu’à 40 fois plus rapides que Martini ». Ce didacticiel créera une API REST simple à l’aide de Go et Gin. Le point de terminaison de l’API permettra à un utilisateur de récupérer une cote de solvabilité. Bien sûr, nous ne nous connecterons à aucun système principal pour extraire une cote de crédit, mais utiliserons plutôt un générateur de nombres aléatoires pour générer la cote et la renvoyer à l’utilisateur. Bien que simple, ce tutoriel vous montrera les bases du développement d’API REST avec Go et Gin.

    Conditions préalables

    Avant de commencer, nous devons nous assurer que quelques conditions préalables sont remplies. Pour suivre et exécuter ce didacticiel, vous devrez :

    1. Installer Aller
    2. Avoir un IDE pour éditer votre code
    3. Installez Postman pour pouvoir tester le point de terminaison

    Une fois ces 3 conditions préalables remplies, nous pouvons commencer !

    Création du projet de base

    Dans le répertoire de votre choix, créez un dossier nommé my-go-rest-api.

    Une fois le nouveau dossier créé, ouvrez un terminal à la racine du dossier afin que les commandes puissent être exécutées pour construire et exécuter notre projet go.

    Une fois que votre terminal est pointé vers le répertoire racine de votre projet, exécutez le go mod init afin que vous puissiez initialiser le projet go et gérer les dépendances.

    go mod init example/my-go-rest-api

    Enfin, dans le répertoire racine, créez un fichier appelé main.go. Ce sera le fichier où nous écrivons tout notre code.

    Ajout dans le code

    Une fois la main.go Le fichier est créé et nous pouvons y ajouter notre code d’application. Dans un premier temps, nous allons ajouter quelques lignes de code pour importer nos dépendances, notamment notre dépendance pour Gin. En haut du fichier, ajoutez le code suivant :

    package main
    
    import (
       "math/rand"
       "net/http"
       "github.com/gin-gonic/gin"
    )

    Ensuite, sous le imports code, nous ajouterons nos limites supérieure et inférieure pour générer le « pointage de crédit » et créer un credit_rating struct pour conserver nos données de notation de crédit.

    const creditScoreMin = 500
    const creditScoreMax = 900
    
    type credit_rating struct {
      CreditRating int `json:"credit_rating"`
    }

    Une fois les paramètres de notre pointage de crédit définis, nous allons créer une fonction qui générera de manière aléatoire un numéro de pointage de crédit. A l’intérieur de la fonction, qui reçoit un *gin.Context une cote de crédit sera générée, transmise à la structure credit_rating, puis écrite dans la gin.Context en tant qu’objet JSON. La fonction implémentée ira sous l’autre code de définition de pointage de crédit et ressemblera à ceci :

    func getCreditScore(c *gin.Context) {
        var creditRating = credit_rating{
          CreditRating: (rand.Intn(creditScoreMax-creditScoreMin) + creditScoreMin)
        }
    
        c.IndentedJSON(http.StatusOK, creditRating)
    }

    Enfin, nous ajouterons une principal fonction où notre application exposera un GET point final pour /creditscore et exposez notre service API sur le port 8080 (le port par défaut pour Gin). Le code ressemblera à ceci :

    func main() {
       router := gin.Default()
       router.GET("/creditscore", getCreditScore)
    
       router.Run("localhost:8080")
    }

    Le code complété est dans le main.go fichier, combinés ensemble, ressemblera à ceci.

    package main
    
    import (
       "math/rand"
       "net/http"
       "github.com/gin-gonic/gin"
    )
    
    const creditScoreMin = 500
    const creditScoreMax = 900
    
    type credit_rating struct {
       CreditRating int `json:"credit_rating"`
    }
    
    func getCreditScore(c *gin.Context) {
        var creditRating = credit_rating{
          CreditRating: (rand.Intn(creditScoreMax-creditScoreMin) + creditScoreMin)
        }
    
        c.IndentedJSON(http.StatusOK, creditRating)
    }
    
    func main() {
       router := gin.Default()
       router.GET("/creditscore", getCreditScore)
    
       router.Run("localhost:8080")
    }

    Exécuter et tester le code

    Avec notre code enfin écrit, dans le dossier actuel, exécutez go get afin d’extraire les packages et les dépendances dans le projet.

    Une fois la commande terminée, les dépendances du projet seront disponibles pour notre code lorsque nous l’exécuterons. Maintenant, exécutons notre API Web simple en utilisant le go run commande dans le répertoire racine de l’application.

    Maintenant, notre API est opérationnelle. Vous pouvez envoyer une requête HTTP de test via Postman ou un autre service de votre choix. En adressant une demande à localhost:8080/creditscorevous devriez voir un 200 OK code de statut et un pointage de crédit renvoyé par le générateur de nombres aléatoires que nous avons créé dans le getCreditScore gestionnaire. Pour ce test, aucun corps de requête n’est nécessaire pour la requête entrante.

    Emballer

    Avec cela, nous avons créé une API RESTful simple en utilisant Go et Gin. Ce code peut ensuite être développé selon les besoins pour créer des API pour vos applications. À l’avenir, vous souhaiterez peut-être sécuriser l’API avec une clé API, intégrer l’API à une passerelle API, vérifier comment votre API est consommée et utilisée, ou générer des revenus grâce à la monétisation de l’API.

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.