Maison >développement back-end >Golang >Utiliser Swagger dans Beego et le combiner avec Postman pour les tests d'API

Utiliser Swagger dans Beego et le combiner avec Postman pour les tests d'API

王林
王林original
2023-06-22 11:02:141145parcourir

Beego est un framework Web pour le développement rapide d'applications Web en langage Go. Il fournit de nombreuses fonctionnalités et outils pour simplifier le processus de développement. Ces fonctionnalités et outils incluent la prise en charge de Swagger (un outil de génération de documentation API) et Postman (un outil de test d'API), qui permettent tous deux aux développeurs de gérer et de tester facilement les API. Cet article explique comment utiliser Swagger dans Beego et combiner les performances de Postman. Tests API.

1. Installer Swagger

Swagger est un framework open source pour la conception, la création, la documentation et le test de services Web RESTful. Avec Swagger, vous pouvez afficher les demandes et les réponses de chaque méthode API dans la documentation API générée dynamiquement.

Tout d'abord, vous devez installer Swagger. Entrez la commande suivante :

go get -u github.com/swaggo/swag/cmd/swag

Une fois l'installation terminée, saisissez à nouveau la commande suivante : #🎜 🎜##🎜 🎜#swag init

Cela générera un dossier docs dans le répertoire racine de votre application Beego contenant la documentation Swagger générée.

2. Intégrez Swagger dans Beego

Ensuite, vous devez intégrer Swagger dans Beego. Pour ce faire, vous devez introduire les dépendances swagger et beego/context dans votre fichier main.go.

import(

"github.com/astaxie/beego"
"github.com/astaxie/beego/context"
_ "your-app-doc-path/docs"

)

Maintenant, ajoutez le code suivant dans la fonction init() de votre fichier main.go : #🎜🎜 #

func main() {

if beego.BConfig.RunMode == beego.DEV {
    beego.BConfig.WebConfig.DirectoryIndex = true
    beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
    // 添加路由,可以自定义,这里设置为/swagger
    beego.InsertFilter("/*", beego.BeforeRouter, func(ctx *context.Context) {
        ctx.Output.Header("Access-Control-Allow-Origin", "*")
        ctx.Output.Header("Access-Control-Allow-Headers", "Content-Type,Token")
        ctx.Output.Header("Access-Control-Allow-Methods", "POST,GET")
    })
}

// 注册Swagger路由
beego.BConfig.WebConfig.StaticDir["/docs"] = "docs"
beego.BeeApp.Handlers.Get("/docs/*", func(ctx *context.Context) {
    ctx.Output.Header("Content-Type", "text/html;charset=utf-8")
    ctx.Output.Body(swaggerFiles.Index)
})

}

Ce code créera un dossier swagger dans le répertoire racine de votre application pour stocker les fichiers de l'interface utilisateur Swagger. Lorsque Beego est initialisé, le répertoire Swagger UI sera enregistré en tant que route statique. Étant donné que Swagger UI est un ensemble de fichiers HTML, CSS et JavaScript statiques, ils sont accessibles à partir du répertoire de ressources statiques.

Vous devez ouvrir l'interface utilisateur Swagger dans votre navigateur en entrant l'URL suivante :

http://localhost:[port]/docs/index.html

# 🎜🎜#Ici, veuillez remplacer [port] par le numéro de port de votre serveur.

3. Écrivez des commentaires Swagger

Après avoir intégré Swagger, vous devez maintenant écrire des commentaires Swagger pour votre API. Il peut être exécuté de la manière suivante :

Commencez par créer un fichier swagger.go, puis ajoutez le code suivant :

package controllers

#🎜🎜 #/* Catégorie d'opération

*/

// swagger:parameters add sub

type Operands struct {

// The first operand
// in: path
// required: true
A int `json:"a"`
// The second operand
// in: path
// required: true
B int `json:"b"`

}

#🎜 🎜#/* Résultat de retour

*/

// swagger:response OperResult

type OperandsResultWrapper struct {

// in:body
Body struct {
    // 运算结果
    Result int `json:"result,omitempty"`
}

}
#🎜 🎜#/# 🎜🎜# add

/


// swagger:route GET /add/{a}/{b} add

//

// pour la phase Ajouter

//

// Prédicats pris en charge : GET// Paramètres : // + A : (chemin) - premier opérande (ne peut être qu'un entier)# 🎜🎜 #// + B : (chemin) - deuxième opérande (ne peut être qu'un entier)

// Accepter le contenu :

// Produit :
// + Résultat de retour (application/ json)# 🎜🎜#// + Erreur (application/json)
//
// swagger:parameters add
// swagger:response OperResult
func (o *OperationController ) Add( ) {

// ...

}

Ici, nous définissons les annotations Swagger pour décrire les requêtes et les réponses de l'API. Les annotations utilisent la syntaxe Swagger pour décrire les règles de routage, les paramètres de commande et les types de résultats. Plus précisément :


La catégorie d'opération (type de paramètre) décrit les paramètres transmis à l'API.

Le résultat du retour (type de réponse) décrit la forme de la valeur renvoyée par l'API au client.

4. Test API

Désormais, votre application Beego peut utiliser Swagger et possède les annotations Swagger appropriées. Ensuite, vous pouvez utiliser Postman pour tester votre API.

    Dans Postman, entrez l'adresse URL de votre API et les paramètres requis, puis sélectionnez le verbe GET. Vous devriez alors pouvoir vérifier que l'API fonctionne correctement à l'aide d'un ensemble de tests comme celui du fichier swagger_generated_api_test.go.
  • 5. Résumé
  • Dans cet article, nous avons présenté comment utiliser Swagger dans Beego combiné avec Postman pour les tests d'API. Nous avons d'abord présenté comment installer Swagger, puis montré comment intégrer Swagger dans Beego. Ensuite, nous avons montré comment écrire des annotations Swagger et utiliser Postman pour les tests d'API. Ces étapes sont cruciales pour tout développeur qui utilise Beego pour développer une API Web RESTful, car elles permettent aux développeurs de développer et de tester plus rapidement et plus facilement des applications Web de haute qualité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn