Heim >Backend-Entwicklung >Golang >Wie erstellt man eine RESTful-API und implementiert CORS mit Golang?

Wie erstellt man eine RESTful-API und implementiert CORS mit Golang?

WBOY
WBOYOriginal
2024-06-02 17:52:01550Durchsuche

Erstellen Sie eine RESTful-API und implementieren Sie CORS: Erstellen Sie ein Projekt und installieren Sie Abhängigkeiten. Richten Sie HTTP-Routing ein, um Anfragen zu verarbeiten. Aktivieren Sie Cross-Origin Resource Sharing (CORS) mithilfe der MiddlewareCORS-Middleware. Wenden Sie CORS-Middleware auf den Router an, um GET- und OPTIONS-Anfragen von jeder Domäne aus zuzulassen.

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

Erstellen Sie RESTful-APIs und implementieren Sie CORS mit Golang.

In der heutigen vernetzten Webwelt ist die Erstellung von RESTful-APIs für den Datenaustausch mit anderen Anwendungen und Diensten von entscheidender Bedeutung. In diesem Tutorial erfahren Sie, wie Sie mit Golang eine RESTful-API erstellen und Cross-Origin Resource Sharing (CORS) aktivieren.

Voraussetzungen:

  • Golang v1.18 oder höher installieren
  • Vertraut mit HTTP- und REST-Konzepten

1. Projekt erstellen

mkdir my_rest_api && cd my_rest_api
go mod init my_rest_api

2. HTTP-Routing einrichten

HTTP-Router verwenden ( wie Gorilla Mux) verwaltet das Anforderungsrouting.

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

Im obigen Code antwortet die Handlerfunktion helloWorld auf die GET-Anfrage und gibt eine einfache Textnachricht zurück. 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

3. Implementieren Sie CORS

Als nächstes aktivieren Sie CORS, um den Zugriff auf die API von anderen Domänen aus zu ermöglichen.

r.Use(middlewareCORS)

Die Funktion middlewareCORS ist HTTP-Middleware, die die notwendigen CORS-Header für die Antwort festlegt. Es ermöglicht GET- und OPTIONS-Anfragen von jeder Domäne (Access-Control-Allow-Origin: „*“).

4. Middleware anwenden

CORS-Middleware auf den Router anwenden.

rrreee

🎜Praxisfall: 🎜🎜🎜Mit dieser RESTful API können Sie Daten abfragen oder Anfragen aus anderen Quellen bearbeiten. Sie können beispielsweise eine einfache CRUD-API erstellen, um Benutzerdaten zu verwalten. 🎜🎜Durch die Implementierung von CORS kann Ihre API mit anderen Anwendungen und Diensten aus verschiedenen Domänen interagieren, was beim Aufbau moderner, verteilter Systeme sehr wichtig ist. 🎜

Das obige ist der detaillierte Inhalt vonWie erstellt man eine RESTful-API und implementiert CORS mit Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn