Integrando GO com React via Requisições HTTP
go-react

Vamos aprender a configurar um servidor GO e integrá-lo com um cliente React criado com Vite para realizar requisições HTTP. Vamos dividir esse conteúdo no formato guia em duas partes: Configuração do Servidor GO e Configuração do Cliente React.

Requisitos

Antes de iniciar, certifique-se de que você possui os seguintes requisitos instalados e configurados em seu sistema:

GO (Golang)

Instale a versão estável mais recente do GO a partir da página oficial de download do GO.

Configure as variáveis de ambiente conforme descrito anteriormente.

Node.js e npm

Instale a versão LTS do Node.js, que inclui o npm (Node Package Manager), a partir da página oficial de download do Node.js.

Verificar Instalações

Para verificar se GO está instalado corretamente, abra um terminal e execute:

go version

Para verificar se Node.js e npm estão instalados corretamente, abra um terminal e execute:

node -v
npm -v

Parte 1: Configuração do Servidor GO

Passo 1: Criar um Novo Projeto GO

Primeiro, vamos criar um diretório para o nosso projeto GO e inicializar o módulo GO.

Bora codar juntos um gerenciador de metas?

embarcar na missão
mkdir go-server
cd go-server
go mod init go-server
Passo 2: Instalar o Pacote Gin

Gin é um framework web para GO que facilita a criação de servidores HTTP.

go get -u github.com/gin-gonic/gin
Passo 3: Instalar o Pacote gin-contrib/cors

Para facilitar a configuração do CORS (Cross-Origin Resource Sharing), vamos instalar o pacote gin-contrib/cors.

go get github.com/gin-contrib/cors
Passo 4: Criar o Arquivo main.go

Crie um arquivo main.go e configure o servidor para responder a uma requisição HTTP GET.

package main

import (
    "github.com/gin-contrib/cors"
    "github.com/gin-gonic/gin"
    "net/http"
)

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

    // Configurar o middleware de CORS
    router.Use(cors.Default())

    router.GET("/data", func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{
            "message": "Hello from GO!",
        })
    })

    router.Run(":8080") // O servidor vai rodar na porta 8080
}
Passo 4: Executar o Servidor

Para iniciar o servidor, execute o comando:

go run main.go

O servidor GO agora está configurado para responder a requisições HTTP GET no endpoint /data com uma mensagem JSON. Agora vamos para o front-end 👇

Parte 2: Configuração do Cliente React com Vite

Passo 1: Criar um Novo Projeto React com Vite

Vamos criar um novo projeto React usando Vite.

Bora codar juntos um gerenciador de metas?

embarcar na missão
npm create vite@latest react-client --template react
cd react-client
Passo 2: Instalar o Axios

Vamos usar o Axios (saiba mais sobre o Axios), que nos fornece uma biblioteca popular para fazer requisições HTTP no React.

npm install axios
Passo 3: Criar um Componente para Fazer a Requisição HTTP

Crie um novo arquivo chamado FetchData.jsx no diretório src e adicione o seguinte código:

import { useState, useEffect } from 'react';
import axios from 'axios';

const FetchData = () => {
    const [data, setData] = useState('');

    useEffect(() => {
        axios.get('http://localhost:8080/data')
            .then(response => {
                setData(response.data.message);
            })
            .catch(error => {
                console.error('There was an error!', error);
            });
    }, []);

    return (
        <div>
            <h1>{data}</h1>
        </div>
    );
}

export default FetchData;
Passo 4: Integrar o Componente no Aplicativo React

Abra o arquivo src/App.jsx e importe o componente FetchData. Em seguida, adicione-o ao componente principal:

import React from 'react';
import './App.css';
import FetchData from './FetchData';

function App() {
    return (
        <div className="App">
            <header className="App-header">
                <FetchData />
            </header>
        </div>
    );
}

export default App;
Passo 5: Executar o Cliente React

Para iniciar o cliente React, execute:

npm run dev

Agora, ao abrir o navegador em http://localhost:3000, você verá a mensagem "Hello from GO!" exibida na tela, que foi obtida através da requisição HTTP ao servidor GO.

Neste guia, configuramos um servidor GO usando o framework Gin e criamos um cliente React usando Vite que faz uma requisição HTTP ao servidor GO utilizando Axios. Também configuramos o middleware de CORS para permitir requisições entre diferentes origens. Essa integração permite que você construa aplicações web modernas e escaláveis combinando a robustez do GO no backend com a flexibilidade do React no frontend.

Bora codar juntos um gerenciador de metas?

embarcar na missão

Aprenda programação do zero e DE GRAÇA

No Discover você vai descomplicar a programação, aprender a criar seu primeiro site com a mão na massa e iniciar sua transição de carreira.

COMECE A ESTUDAR AGORA