首頁  >  文章  >  後端開發  >  如何使用 Golang 建立 RESTful API 並實作 CORS?

如何使用 Golang 建立 RESTful API 並實作 CORS?

WBOY
WBOY原創
2024-06-02 17:52:01537瀏覽

建立 RESTful API 並實作 CORS:建立專案並安裝相依性。設定 HTTP 路由處理請求。使用 middlewareCORS 中間件啟用跨域資源共享 (CORS)。將 CORS 中間件套用至路由器,允許來自任何網域的 GET 和 OPTIONS 請求。

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

使用Golang 建立RESTful API 並實作CORS

在當今互聯的網路世界中,建立RESTful API 對於與其他應用程序和服務交換資料至關重要。本教學將指導你如何使用 Golang 建立一個 RESTful API 並啟用跨域資源共享 (CORS)。

先決條件:

  • 安裝Golang v1.18 或更高版本
  • 熟悉HTTP 和REST 概念

1. 建立專案

mkdir my_rest_api && cd my_rest_api
go mod init my_rest_api

2. 設定HTTP 路由

使用HTTP 路由器(如Gorilla Mux)管理請求路由。

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))
}

在上面的程式碼中,helloWorld 處理器函數回應 GET 請求並傳回一個簡單的文字訊息。

3. 實作 CORS

接下來,啟用 CORS 允許 API 從其他網域存取。

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)
    })
}

middlewareCORS 函數是 HTTP 中間件,它為回應設定必要的 CORS 頭。它允許來自任何網域 (Access-Control-Allow-Origin: "*") 的 GET 和 OPTIONS 請求。

4. 應用中間件

將 CORS 中介軟體套用至路由器。

r.Use(middlewareCORS)

實戰案例:

透過這個 RESTful API,你可以查詢資料或處理來自其他來源的請求。例如,你可以建立一個簡單的 CRUD API 來管理使用者資料。

透過實現 CORS,你的 API 可以與其他應用程式和服務從不同的網域進行交互,這在建立現代,分散式系統時非常重要。

以上是如何使用 Golang 建立 RESTful API 並實作 CORS?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn