2 回答

TA貢獻1802條經驗 獲得超6個贊
在 CORS 下使用:
func CORS() gin.HandlerFunc {
// TO allow CORS
return func(c *gin.Context) {
c.Writer.Header().Set("Access-Control-Allow-Origin", "*")
c.Writer.Header().Set("Access-Control-Allow-Headers", "Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization, accept, origin, Cache-Control, X-Requested-With")
c.Writer.Header().Set("Access-Control-Allow-Methods", "POST, OPTIONS, GET, PUT, DELETE")
if c.Request.Method == "OPTIONS" {
c.AbortWithStatus(204)
return
}
c.Next()
}
}
接下來,您必須將 cors 添加到您的路線中:
router := gin.Default()
router.Use(CORS())
另外,最好使用 POST 方法而不是 PATCH。我很確定它會解決你的問題。

TA貢獻1807條經驗 獲得超9個贊
您可以通過使用POST
方法而不是PATCH
.
例如:
func main() { router := gin.Default() rg := router.Group("api/v1/photo") { rg.POST("/", uploadFile) } router.Use(cors.Default()) router.Run()}
潛在的 CORS 問題
您可能需要在 Go 服務中設置正確的跨域資源共享。
一些額外的參考
所以回答常見 HTTP 方法之間的差異 - PUT、POST 和 PATCH 有什么區別?.
PATCH:提交對資源的部分修改。如果您只需要更新資源的一個字段,您可能需要使用 PATCH 方法。
- 2 回答
- 0 關注
- 245 瀏覽
添加回答
舉報