CORS im Go Gin Framework aktivieren
Das Go Gin Framework bietet eine leistungsstarke Middleware zum Aktivieren von CORS (Cross-Origin Resource Sharing) in Ihrem Anwendungen. Durch das Hinzufügen dieser Middleware zu Ihrer App können Sie Anfragen unterschiedlicher Herkunft den Zugriff auf Ihre API-Endpunkte ermöglichen.
Berücksichtigen Sie die folgende CORS-Middleware-Implementierung:
func CORSMiddleware() gin.HandlerFunc { return func(c *gin.Context) { c.Writer.Header().Set("Content-Type", "application/json") c.Writer.Header().Set("Access-Control-Allow-Origin", "*") c.Writer.Header().Set("Access-Control-Max-Age", "86400") c.Writer.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE, UPDATE") c.Writer.Header().Set("Access-Control-Allow-Headers", "Content-Type, Content-Length, Accept-Encoding, X-CSRF-Token, Authorization, X-Max") c.Writer.Header().Set("Access-Control-Allow-Credentials", "true") if c.Request.Method == "OPTIONS" { c.AbortWithStatus(200) } else { c.Next() } } }
Die Verwendung dieser Middleware führt jedoch zu Ergebnissen Wenn der Statuscode 200 OK lautet, aber nach OPTION-Anfragen keine weiteren Maßnahmen ergriffen werden, haben Sie möglicherweise etwas Entscheidendes übersehen Schritt:
Fix:
func CORSMiddleware() gin.HandlerFunc {</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">return func(c *gin.Context) { c.Writer.Header().Set("Access-Control-Allow-Origin", "*") c.Writer.Header().Set("Access-Control-Allow-Credentials", "true") 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") if c.Request.Method == "OPTIONS" { c.AbortWithStatus(204) return } c.Next() }
}
pre>
In der aktualisierten Middleware c.AbortWithStatus(204) gibt den Antwortstatus 204 No Content ohne Text zurück, was auf eine erfolgreiche OPTIONS-Anfrage hinweist und es dem Client ermöglicht, mit der eigentlichen Anfrage fortzufahren.
Das obige ist der detaillierte Inhalt vonWie konfiguriere ich die CORS-Middleware in Go Gin richtig, um OPTIONS-Anfragen zu verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!