Avatar ·

كيفية تعيين رؤوس HTTP في Go (CORS، Content-Type وغيرها)

مرحباً بالجميع! أنا مطور Go مبتدئ وأكتب أول REST API خاص بي باستخدام net/http. واجهت مشكلة: الواجهة الأمامية الخاصة بي (React، تعمل على localhost:3000) لا تستطيع إرسال الطلبات إلى الخادم (localhost:8080) بسبب CORS. أحاول تعيين الرؤوس يدوياً، ولكن هناك خطأ ما. إليك الكود الخاص بي: ```go package main import ( "fmt" "net/http" ) func handler(w http.ResponseWriter, r *http.Request) { w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Content-Type", "application/json") fmt.Fprintf(w, `{"message": "Hello"}`) } func main() { http.HandleFunc("/api", handler) http.ListenAndServe(":8080", nil) } ``` المشكلة هي أنه عندما أقوم بطلب POST مع جسم JSON، لا يزال المتصفح يعطي خطأ CORS. حاولت إضافة الرؤوس في أماكن مختلفة - قبل وبعد كتابة الرد - ولكن النتيجة نفسها. قرأت أيضاً عن middleware، لكنني لا أفهم كيفية تطبيقها على جميع المسارات في وقت واحد. أرشدوني إلى كيفية تعيين رؤوس HTTP بشكل صحيح.