masalibの日記

システム開発、運用と猫の写真ブログです

golang の入門 Fiber3(cors設定)

簡単なのですが自分用のメモとして残します

reactからFiberのAPPサーバーにアクセスしたらCORSエラーがでた。

CORSエラーとは

ざっくりいうと異なるサイト間でデータをやり取りする時のエラーです。
自分の例だとreactとfiberです。同じサーバーにあっても違うサイト扱いです。

詳細は以下のサイトをみてください
https://developer.mozilla.org/ja/docs/Web/HTTP/CORS/Errors https://zenn.dev/yarai/articles/6e3c5b017a5b8d

fiberでのCORS対応

package main

import (
    "github.com/gofiber/fiber/v2"
    "github.com/gofiber/fiber/v2/middleware/cors"
)

func main() {
    app := fiber.New()

    app.Use(cors.New(cors.Config{
        AllowOrigins: "http://localhost:5173",
        AllowMethods: "GET, POST, PUT, DELETE",
        AllowHeaders: "Origin, Content-Type, Accept",
    }))

    app.Get("/", func(c *fiber.Ctx) error {
        return c.SendString("Hello, World!")
    })

    app.Listen(":3000")
}

補足 app.Use()メソッドを使用してCORS(Cross-Origin Resource Sharing)
ミドルウェアをアプリケーションに追加します。このミドルウェアは、
異なるオリジンからのリクエストを許可するために使用されます。
ここでは、cors.New()関数にCORS設定を渡しています。
設定には、AllowOriginsで許可するオリジン(この場合はhttp://localhost:5173)、
AllowMethodsで許可するHTTPメソッド(GET, POST, PUT, DELETE)、
そしてAllowHeadersで許可するHTTPヘッダー(Origin, Content-Type, Accept)を指定しています。