Golang의 POST 메소드를 사용하여 데이터 처리를 구현하는 방법

PHPz
풀어 주다: 2023-04-11 09:38:51
원래의
1095명이 탐색했습니다.

Golang은 웹 애플리케이션 개발에 이상적인 인기 프로그래밍 언어입니다. 웹 애플리케이션을 작성할 때 POST 메소드는 가장 일반적으로 사용되는 HTTP 메소드 중 하나이며 이를 통해 서버측으로 데이터를 보낼 수 있습니다. 이 기사에서는 Golang의 POST 메서드를 사용하여 서버 측 데이터 처리를 구현하는 방법을 소개합니다.

Golang에서 POST 메서드를 사용하려면 net/http 패키지의 Post 함수를 사용해야 합니다. 이 함수에서 사용하는 형식은 다음과 같습니다.

resp, err := http.Post(url string, contentType string, body io.Reader)
로그인 후 복사

그 중 url 매개변수는 대상 서버의 주소와 포트 번호, contentType 매개변수는 요청 본문의 MIME 유형, body 매개변수는 요청의 데이터 스트림입니다. 요청 본문.

POST 메서드의 사용을 보여주기 위해 클라이언트가 제출한 데이터를 수신하고 이를 서버 측 데이터베이스에 저장하는 간단한 웹 애플리케이션을 만듭니다.

먼저 데이터를 수신하고 서버로 보내기 위한 HTML 양식을 만들어야 합니다.

<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>
로그인 후 복사

이 양식에서는 이름과 이메일 주소를 입력하기 위한 두 개의 텍스트 상자를 정의하고 이러한 데이터를 /submit 경로로 보냅니다. 서버에서. 다음으로, 서버 측에서 /submit 경로의 처리 로직을 구현해야 합니다.

서버측 코드는 다음과 같습니다.

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, "数据已提交!")
}
로그인 후 복사

submitHandler 함수에서는 먼저 MySQL 데이터베이스에 접속하고 r.ParseForm() 함수를 통해 요청된 폼 데이터를 파싱합니다. 다음으로 이름과 이메일 매개변수를 가져오고 현재 타임스탬프를 생성합니다.

그런 다음 sql 패키지의 준비 함수를 사용하여 SQL 문에 대한 준비된 문을 만들고 양식 데이터를 물음표 자리 표시자에 바인딩합니다. 마지막으로 stmt.Exec() 함수를 통해 MySQL 데이터베이스에 데이터를 삽입하고 클라이언트에 성공 메시지를 출력합니다.

애플리케이션을 실행하고 브라우저를 통해 데이터 제출 페이지에 액세스하면 일부 데이터를 서버에 제출하고 이 데이터를 MySQL 데이터베이스에 저장할 수 있습니다. 내 테스트에서 이 데이터는 test라는 데이터베이스의 users라는 테이블에 저장됩니다. 다음 명령을 사용하여 이 데이터를 볼 수 있습니다.

$ mysql -u root test
mysql> SELECT * FROM users;
로그인 후 복사

POST 메서드를 사용하여 서버 측 데이터 처리를 구현하면 클라이언트가 제출한 데이터를 쉽게 받아 서버 측 데이터베이스에 저장할 수 있습니다. Golang에서 웹 프로그래밍을 배우고 있다면 POST 메소드는 반드시 마스터해야 할 중요한 기술 중 하나입니다.

위 내용은 Golang의 POST 메소드를 사용하여 데이터 처리를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!