Maison  >  Article  >  développement back-end  >  Exemples de vérification des paramètres de requête dans Golang

Exemples de vérification des paramètres de requête dans Golang

PHPz
PHPzoriginal
2023-03-30 09:11:381195parcourir

Golang est un langage de programmation populaire ces dernières années. Son émergence a facilité le développement des programmeurs, amélioré l'efficacité du développement et possède également des fonctionnalités efficaces et stables. Dans Golang, la vérification des paramètres est un problème important et courant. Cet article expliquera comment effectuer la vérification des paramètres de requête dans Golang, nous permettant de développer des applications plus efficaces et plus stables.

1. Scénarios courants

Pendant le développement, il est souvent nécessaire de vérifier les paramètres de la demande en fonction des besoins réels. Par exemple, nous devons vérifier si le paramètre de requête est une adresse e-mail, ou nous devons vérifier si le paramètre de requête est conforme au format du numéro d'identification. Il existe d'autres scénarios, comme la nécessité de vérifier si le paramètre de requête est vide ou la plage de valeurs, etc.

2. Méthode traditionnelle de vérification des paramètres

Dans la méthode traditionnelle de vérification des paramètres, nous utilisons généralement le jugement manuel pour déterminer si les paramètres répondent aux exigences. Par exemple, nous pouvons utiliser des expressions régulières pour vérifier le format des adresses e-mail ou des numéros d'identification. Cependant, la méthode de vérification manuelle des paramètres est non seulement longue et laborieuse, mais elle n'est pas non plus suffisamment flexible pour répondre aux besoins réels des différents besoins.

3. Bibliothèque de vérification des paramètres

Afin de résoudre les problèmes des méthodes traditionnelles de vérification des paramètres, certains programmeurs ont développé diverses bibliothèques de vérification des paramètres. Ces bibliothèques de validation prennent en charge une variété de scénarios de validation de paramètres, tels que la validation de paramètres de type chaîne, nombre, date, etc. Dans le même temps, ils fournissent également des fonctions de vérification configurables, nous permettant de personnaliser les règles de vérification.

4.gopkg.in/go-playground/validator.v9

Dans Golang, nous pouvons utiliser la bibliothèque de validation gopkg.in/go-playground/validator.v9. Cette bibliothèque fournit certaines fonctions de vérification de base, telles que la vérification d'une plage numérique, si elle est vide, etc., et prend également en charge des fonctions de vérification personnalisées. Voici un exemple :

type User struct {
  Name string `json:"name" validate:"required"`
  Age  int    `json:"age" validate:"gte=0,lte=130"`
}

func CreateUser(w http.ResponseWriter, r *http.Request) {
  decoder := json.NewDecoder(r.Body)
  var user User
  err := decoder.Decode(&user)
  if err != nil {
    http.Error(w, http.StatusText(http.StatusBadRequest), http.StatusBadRequest)
    return
  }
  validate := validator.New()
  err = validate.Struct(user)
  if err != nil {
    http.Error(w, err.Error(), http.StatusBadRequest)
    return
  }
  // 如果参数校验通过,继续后面的逻辑
}

Dans cet exemple, nous définissons une structure nommée User, qui contient deux champs : Name et Age. Dans cet exemple, le nom est obligatoire et l'âge est compris entre 0 et 130. Lorsque les paramètres du corps de la demande ne répondent pas aux exigences ci-dessus, une erreur de vérification renverra BadRequest. Une fois la vérification des paramètres réussie, le code continuera à exécuter le traitement de la logique métier. C'est le rôle principal de la vérification des paramètres.

5. Résumé

Cet article présente la méthode de vérification des paramètres de requête dans Golang. Grâce à la vérification des paramètres, nous pouvons garantir efficacement l'exactitude de la logique métier et réduire les risques commerciaux causés par des paramètres non standard. J'espère que cet article sera utile au développement de Golang.

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