Avatar ·

Cómo configurar encabezados HTTP en Go (CORS, Content-Type y otros)

¡Hola a todos! Soy un desarrollador Go principiante y estoy escribiendo mi primer REST API con net/http. Me encontré con un problema: mi frontend (React, ejecutándose en localhost:3000) no puede enviar solicitudes al servidor (localhost:8080) debido a CORS. Estoy intentando configurar los encabezados manualmente, pero algo no funciona. Aquí está mi código: ```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) } ``` El problema es que cuando hago una solicitud POST con un cuerpo JSON, el navegador sigue mostrando un error de CORS. He intentado agregar los encabezados en diferentes lugares — antes y después de escribir la respuesta — pero el resultado es el mismo. También he leído sobre middleware, pero no entiendo cómo aplicarlos a todas las rutas a la vez. Díganme cómo hacerlo correctamente.