ホームページ >バックエンド開発 >Golang >Golang を使用して RESTful API を構築し、CORS を実装するにはどうすればよいですか?

Golang を使用して RESTful API を構築し、CORS を実装するにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-06-02 17:52:01549ブラウズ

RESTful API を作成して CORS を実装する: プロジェクトを作成し、依存関係をインストールします。リクエストを処理するために HTTP ルーティングを設定します。ミドルウェアCORS ミドルウェアを使用して、クロスオリジン リソース共有 (CORS) を有効にします。 CORS ミドルウェアをルーターに適用して、任意のドメインからの GET および OPTIONS リクエストを許可します。

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

Golang を使用して RESTful API を構築し、CORS を実装する

今日のインターネットに接続された Web の世界では、RESTful API を構築することは、他のアプリケーションやサービスとデータを交換するために重要です。このチュートリアルでは、Golang を使用して RESTful API を構築し、Cross-Origin Resource Sharing (CORS) を有効にする方法を説明します。

前提条件:

  • Golang v1.18 以降をインストールする
  • HTTP と REST の概念に精通している

1. プロジェクトを作成する

mkdir my_rest_api && cd my_rest_api
go mod init my_rest_api

2.

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 リクエストに応答し、単純なテキスト メッセージを返します。 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. CORS を実装します

次に、CORS を有効にして、他のドメインから API にアクセスできるようにします。

r.Use(middlewareCORS)

middlewareCORS 関数は、応答に必要な CORS ヘッダーを設定する HTTP ミドルウェアです。任意のドメインからの GET および OPTIONS リクエストを許可します (Access-Control-Allow-Origin: "*")。

4. ミドルウェアを適用します

CORS ミドルウェアをルーターに適用します。

rrreee

🎜実際のケース: 🎜🎜🎜この RESTful API を使用すると、データをクエリしたり、他のソースからのリクエストを処理したりできます。たとえば、ユーザー データを管理するための単純な CRUD API を構築できます。 🎜🎜 CORS を実装すると、API はさまざまなドメインの他のアプリケーションやサービスと対話できるようになります。これは、最新の分散システムを構築する場合に非常に重要です。 🎜

以上がGolang を使用して RESTful API を構築し、CORS を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。