Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membina API RESTful dan melaksanakan CORS menggunakan Golang?

Bagaimana untuk membina API RESTful dan melaksanakan CORS menggunakan Golang?

WBOY
WBOYasal
2024-06-02 17:52:01531semak imbas

Buat API RESTful dan laksanakan CORS: Buat projek dan pasang kebergantungan. Sediakan penghalaan HTTP untuk mengendalikan permintaan. Dayakan perkongsian sumber silang asal (CORS) menggunakan middlewareCORS middleware. Gunakan perisian tengah CORS pada penghala untuk membenarkan permintaan GET dan OPTIONS daripada mana-mana domain.

如何使用 Golang 构建 RESTful API 并实现 CORS?

Bina API RESTful dan laksanakan CORS menggunakan Golang

Dalam dunia web yang disambungkan hari ini, membina API RESTful adalah penting untuk bertukar data dengan aplikasi dan perkhidmatan lain. Tutorial ini akan membimbing anda tentang cara membina API RESTful menggunakan Golang dan mendayakan Perkongsian Sumber Silang Asal (CORS).

Prasyarat:

  • Pasang Golang v1.18 atau lebih tinggi
  • Familiar dengan konsep HTTP dan REST

Buat projek 🜜

1

Gunakan penghala HTTP ( seperti Gorilla Mux) menguruskan penghalaan permintaan.

mkdir my_rest_api && cd my_rest_api
go mod init my_rest_api

Dalam kod di atas, fungsi pengendali helloWorld bertindak balas kepada permintaan GET dan mengembalikan mesej teks ringkas.

helloWorld 处理器函数响应 GET 请求并返回一个简单的文本消息。

3. 实现 CORS

接下来,启用 CORS 允许 API 从其他域访问。

package main

import (
    "fmt"
    "log"
    "net/http"

    "github.com/gorilla/mux"
)

func helloWorld(w http.ResponseWriter, r *http.Request) {
    fmt.Fprint(w, "Hello World!")
}

func main() {
    r := mux.NewRouter()
    r.HandleFunc("/", helloWorld).Methods(http.MethodGet)
    log.Fatal(http.ListenAndServe(":8080", r))
}

middlewareCORS

3. Laksanakan CORS

Seterusnya, dayakan CORS untuk membolehkan API diakses dari domain lain.

func middlewareCORS(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        w.Header().Set("Access-Control-Allow-Origin", "*")
        w.Header().Set("Access-Control-Allow-Methods", "GET, OPTIONS")
        if r.Method == "OPTIONS" {
            w.Header().Set("Access-Control-Allow-Headers", "Content-Type")
        }
        next.ServeHTTP(w, r)
    })
}

Fungsi middlewareCORS ialah perisian tengah HTTP yang menetapkan pengepala CORS yang diperlukan untuk respons. Ia membenarkan permintaan GET dan OPTIONS daripada mana-mana domain (Access-Control-Allow-Origin: "*").

4. Gunakan perisian tengah

Gunakan perisian tengah CORS pada penghala.

r.Use(middlewareCORS)

Kes praktikal: 🎜🎜🎜Dengan API RESTful ini, anda boleh menanyakan data atau mengendalikan permintaan daripada sumber lain. Sebagai contoh, anda boleh membina API CRUD mudah untuk mengurus data pengguna. 🎜🎜Dengan melaksanakan CORS, API anda boleh berinteraksi dengan aplikasi dan perkhidmatan lain daripada domain yang berbeza, yang sangat penting apabila membina sistem teragih moden. 🎜

Atas ialah kandungan terperinci Bagaimana untuk membina API RESTful dan melaksanakan CORS menggunakan Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn