Maison  >  Article  >  développement back-end  >  Comment utiliser la méthode POST de Golang pour implémenter le traitement des données

Comment utiliser la méthode POST de Golang pour implémenter le traitement des données

PHPz
PHPzoriginal
2023-04-11 09:10:421131parcourir

Golang est un langage de programmation populaire idéal pour le développement d'applications Web. Lors de l'écriture d'applications Web, la méthode POST est l'une des méthodes HTTP les plus couramment utilisées, qui nous permet d'envoyer des données côté serveur. Cet article explique comment utiliser la méthode POST de Golang pour implémenter le traitement des données côté serveur.

Pour utiliser la méthode POST dans Golang, vous devez utiliser la fonction Post dans le package net/http. Le format utilisé par cette fonction est :

resp, err := http.Post(url string, contentType string, body io.Reader)

Parmi eux, le paramètre url est l'adresse et le numéro de port du serveur cible, le paramètre contentType est le type MIME du corps de la requête et le paramètre body est le flux de données du corps de la demande.

Pour démontrer l'utilisation de la méthode POST, nous allons créer une application Web simple qui recevra les données soumises par le client et les stockera dans une base de données côté serveur.

Tout d'abord, nous devons créer un formulaire HTML pour recevoir des données et les envoyer au serveur :

<html>
  <head>
    <meta charset="utf-8">
    <title>提交数据</title>
  </head>
  <body>
    <h1>提交数据</h1>
    <form action="/submit" method="post">
      <label for="name">姓名:</label>
      <input type="text" id="name" name="name"><br>
      <label for="email">邮箱:</label>
      <input type="email" id="email" name="email"><br>
      <input type="submit" value="提交">
    </form>
  </body>
</html>

Dans ce formulaire, nous définissons deux zones de texte pour saisir les noms et les adresses e-mail, et mettons ces données Envoyé dans le chemin /submit sur le serveur. Ensuite, nous devons implémenter la logique de traitement du chemin /submit côté serveur.

Le code côté serveur est le suivant :

package main

import (
  "database/sql"
  "fmt"
  "log"
  "net/http"
  "time"

  _ "github.com/go-sql-driver/mysql"
)

func main() {
  http.HandleFunc("/submit", submitHandler)
  http.ListenAndServe(":8080", nil)
}

func submitHandler(w http.ResponseWriter, r *http.Request) {
  db, err := sql.Open("mysql", "root:@/test")
  if err != nil {
    log.Fatal(err)
  }
  defer db.Close()

  err = r.ParseForm()
  if err != nil {
    log.Fatal(err)
  }

  name := r.FormValue("name")
  email := r.FormValue("email")
  timestamp := time.Now()

  stmt, err := db.Prepare("INSERT INTO users(name, email, timestamp) VALUES(?, ?, ?)")
  if err != nil {
    log.Fatal(err)
  }
  defer stmt.Close()

  _, err = stmt.Exec(name, email, timestamp)
  if err != nil {
    log.Fatal(err)
  }

  fmt.Fprintf(w, "数据已提交!")
}

Dans la fonction submitHandler, nous nous connectons d'abord à la base de données MySQL et analysons les données du formulaire demandées via la fonction r.ParseForm(). Ensuite, nous obtenons les paramètres de nom et d'e-mail et générons l'horodatage actuel.

Ensuite, nous utilisons la fonction Prepare du package SQL pour créer une instruction préparée pour l'instruction SQL et lier les données du formulaire à l'espace réservé du point d'interrogation. Enfin, nous insérons les données dans la base de données MySQL via la fonction stmt.Exec() et envoyons un message de réussite au client.

Si nous exécutons l'application et accédons à la page de soumission de données via un navigateur, nous pourrons soumettre certaines données au serveur et stocker ces données dans une base de données MySQL. Dans mon test, ces données seront stockées dans une table nommée users dans une base de données nommée test. Vous pouvez visualiser ces données à l'aide de la commande suivante :

$ mysql -u root test
mysql> SELECT * FROM users;

L'utilisation de la méthode POST pour implémenter le traitement des données côté serveur nous permet de recevoir facilement les données soumises par le client et de les stocker dans la base de données côté serveur. Si vous apprenez la programmation Web en Golang, la méthode POST est l'une des compétences importantes que vous devez maîtriser.

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