iris 跨域解決方案

FreeMason發表於2021-11-12
  1. 步驟一
    app := iris.New()
    app.AllowMethods(iris.MethodOptions)

這一步『必須』,如果無則預請求(options)會 404,ctx.StatusCode 也不會生效(執行順序),解決預請求 404 除了 app.AllowMethods(iris.MethodOptions) 還可以自己在每個控制器定義 Options 方法來支援解決 404。

  1. 步驟二
app.Use(cors)

func CtxCors(ctx *irisctx.Context) { 
   ctx.Header("Access-Control-Allow-Origin", "*")
   if ctx.Method() == "OPTIONS" {
      ctx.Header("Access-Control-Allow-Headers", "*")
      ctx.StatusCode(http.StatusNoContent)
      return
  }
   ctx.Next()
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結
光年之外

相關文章