---
title: "Como Criar uma API REST com Golang e Gin - Parte 1: Introdução"
url: "https://golang.com.br/aprenda/api-rest-gin-parte1/"
markdown_url: "https://golang.com.br/aprenda/api-rest-gin-parte1.MD"
description: "Aprenda a criar uma API REST completa com Golang e o framework Gin. Parte 1: Introdução, instalação e primeiro endpoint."
date: "2026-04-30"
author: ""
---

# Como Criar uma API REST com Golang e Gin - Parte 1: Introdução

Aprenda a criar uma API REST completa com Golang e o framework Gin. Parte 1: Introdução, instalação e primeiro endpoint.


# Como Criar uma API REST com Golang e Gin - Parte 1: Introdução

Nesta série de tutoriais, você aprenderá a criar uma **API REST completa** usando **Golang** e o framework **Gin**. Vamos do zero até uma API pronta para produção.

## Por que Gin?

O **Gin** é um dos frameworks web mais populares para Golang:

- ⚡ **Performance**: uma das bibliotecas mais rápidas (baseada no httprouter)
- 🪶 **Leve**: apenas ~20KB, sem dependências pesadas
- 📖 **Simples**: API clean e fácil de aprender
- 🛡️ **Maduro**: usado em produção por muitas empresas

## Pré-requisitos

- Golang 1.21+ instalado ([download aqui](https://go.dev/dl/))
- Conhecimento básico de Go (variáveis, funções, structs)
- Terminal e um editor de código (VS Code recomendado)

## Passo 1: Criar o Projeto

```bash
mkdir golang-api-gin
cd golang-api-gin
go mod init github.com/seuusuario/golang-api-gin
```

## Passo 2: Instalar o Gin

```bash
go get -u github.com/gin-gonic/gin
```

## Passo 3: Primeiro Endpoint

Crie um arquivo `main.go`:

```go
package main

import "github.com/gin-gonic/gin"

func main() {
    // Cria uma instância do Gin no modo release
    r := gin.Default()

    // Endpoint GET /ping
    r.GET("/ping", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "pong",
        })
    })

    // Inicia o servidor na porta 8080
    r.Run(":8080")
}
```

## Passo 4: Executar

```bash
go run main.go
```

Acesse: http://localhost:8080/ping

Resposta esperada:
```json
{"message": "pong"}
```

## Estrutura do Projeto (Final)

```
golang-api-gin/
├── main.go
├── go.mod
├── go.sum
└── handlers/
    └── (vamos criar na Parte 2)
```

## Próximos Passos

Na **Parte 2**, vamos:
- Criar os handlers organizados
- Definir as rotas da nossa API (CRUD de livros)
- Implementar GET, POST, PUT, DELETE

👉 [Parte 2: Estruturando os Handlers](/aprenda/api-rest-gin-parte2/)

---

*Gostou deste tutorial? Compartilhe no [Twitter](https://twitter.com/golangbr) e deixe seu feedback no [Telegram](https://t.me/golangbr)!*
