Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Como resolve o erro de cors?

A minha api esta em golang:

func Inicialize() {
    router := gin.Default()

    config := cors.DefaultConfig()
    config.AllowOrigins = []string{loadenv.LoadEnvFile().FRONT_URL, "http://localhost:3000/"}
    config.AllowMethods = []string{"GET", "POST", "OPTIONS", "PUT", "DELETE"}
    config.AllowHeaders = []string{"Content-Type", "*"}
    router.Use(cors.New(config))
    inicializeRoutes(router)

    router.Run(loadenv.LoadEnvFile().BFF_PORT)
}

nao e o meu front nao consegue acessar mesmo eu colocando essas config. No front (nextjs v14^ em typescript) eu estou chamando assim:

const apiURL = process.env.NEXT_PUBLIC_API_ZABBIX
    console.log("NEXT_PUBLIC_API_ZABBIX: ", apiURL)
    console.log("NEXTAUTH_URL: ", process.env.NEXTAUTH_URL)

    if (!process.env.NEXT_PUBLIC_API_ZABBIX) {
      console.error("Sem endpoit")
    } else {
      console.log("Passou")
    }

    try {
      const response = await fetch(process.env.NEXT_PUBLIC_API_ZABBIX, {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
        },
        body: JSON.stringify(formattedData),
      });

      if (response.ok) {
        const data: ApiZabbixResponseProps = await response.json();
        setApiResponseData(data);
        console.log("dados da api:", data);
      } else {
        console.error("Erro ao fazer a solicitação de postagem");
      }
    } catch (error) {
      console.error("Erro na solicitação de postagem:", error);
    }
    console.log(formattedData.serviceids)
  };
1 resposta
solução!

O AllowOrigins tem que ta com os valores da url do front, no meu caso eh "http://localhost:3000" sem o "/". fica a dica!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software