No mundo conectado de hoje, sistemas distintos precisam se comunicar de forma rápida, segura e padronizada. É aí que entram as APIs RESTful. Neste artigo, você aprenderá o que são APIs RESTful, por que são tão importantes e como construir uma do zero usando Python com o framework Flask.


O que é uma API?

API significa Application Programming Interface — ou Interface de Programação de Aplicações. Em termos simples, uma API permite que diferentes sistemas “conversem” entre si. Por exemplo, quando um aplicativo de delivery se conecta ao sistema de pagamento, essa comunicação acontece por meio de uma API.


O que significa RESTful?

REST (Representational State Transfer) é um estilo de arquitetura para criação de APIs baseado em recursos. Quando dizemos que uma API é RESTful, estamos dizendo que ela segue os princípios REST:

  • Comunicação via protocolo HTTP
  • Operações baseadas nos métodos HTTP: GET, POST, PUT, DELETE
  • Requisições sem estado (stateless)
  • Recursos representados por URLs

Principais Métodos HTTP em APIs RESTful

MétodoFunçãoExemplo
GETBuscar um recursoGET /usuarios/1
POSTCriar um novo recursoPOST /usuarios
PUTAtualizar um recurso existentePUT /usuarios/1
DELETERemover um recursoDELETE /usuarios/1

Criando uma API RESTful com Flask

Vamos agora construir uma API simples em Python usando o microframework Flask.

Pré-requisitos

  • Python instalado (3.8+)
  • Instalar o Flask:

pip install flask

from flask import Flask, jsonify, request

app = Flask(__name__)

# Simulação de base de dados
usuarios = [
    {"id": 1, "nome": "João"},
    {"id": 2, "nome": "Maria"}
]

# Rota GET - lista todos os usuários
@app.route("/usuarios", methods=["GET"])
def listar_usuarios():
    return jsonify(usuarios)

# Rota GET - retorna usuário específico
@app.route("/usuarios/<int:id>", methods=["GET"])
def obter_usuario(id):
    for usuario in usuarios:
        if usuario["id"] == id:
            return jsonify(usuario)
    return jsonify({"erro": "Usuário não encontrado"}), 404

# Rota POST - adiciona um novo usuário
@app.route("/usuarios", methods=["POST"])
def criar_usuario():
    novo_usuario = request.get_json()
    usuarios.append(novo_usuario)
    return jsonify(novo_usuario), 201

# Rota PUT - atualiza um usuário
@app.route("/usuarios/<int:id>", methods=["PUT"])
def atualizar_usuario(id):
    for usuario in usuarios:
        if usuario["id"] == id:
            dados = request.get_json()
            usuario.update(dados)
            return jsonify(usuario)
    return jsonify({"erro": "Usuário não encontrado"}), 404

# Rota DELETE - remove um usuário
@app.route("/usuarios/<int:id>", methods=["DELETE"])
def deletar_usuario(id):
    for usuario in usuarios:
        if usuario["id"] == id:
            usuarios.remove(usuario)
            return jsonify({"mensagem": "Usuário removido com sucesso"})
    return jsonify({"erro": "Usuário não encontrado"}), 404

if __name__ == "__main__":
    app.run(debug=True)

Testando a API com o Insomnia ou Postman

Para testar sua API, você pode usar ferramentas como:

Basta enviar requisições HTTP para http://localhost:5000/usuarios e observar as respostas em tempo real.


Boas práticas ao criar APIs

  • Use códigos HTTP apropriados (200, 201, 404, 500…)
  • Valide os dados de entrada
  • Documente sua API com ferramentas como Swagger/OpenAPI
  • Implemente autenticação e autorização se necessário (ex: JWT)

Conclusão

As APIs RESTful são o alicerce da comunicação moderna entre sistemas. Com elas, é possível integrar aplicações móveis, web, microserviços e muito mais. Neste artigo, você aprendeu os conceitos principais e viu um exemplo prático em Flask. Agora é hora de colocar a mão na massa e construir suas próprias APIs!



0 comentário

Deixe um comentário

Espaço reservado para avatar

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *