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.
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.
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.

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