Apidog

Plataforma Colaborativa All-in-one para Desenvolvimento de API

Design de API

Documentação de API

Depuração de API

Mock de API

Testes Automatizados de API

Como Criar Operações CRUD com FastAPI Rapidamente

Neste post, iremos explorar como implementar rapidamente operações CRUD com FastAPI. Começaremos configurando o FastAPI e o banco de dados, e depois criaremos os endpoints da API para as operações CRUD.

Miguel Oliveira

Miguel Oliveira

Updated on novembro 29, 2024

Operações CRUD são essenciais em qualquer aplicação web que envolve armazenamento e recuperação de dados. Essas operações permitem que os usuários criem novos registros, recuperem registros existentes, atualizem registros existentes e excluam registros de um banco de dados.

FastAPI torna fácil implementar operações CRUD, fornecendo uma maneira simples e intuitiva de definir pontos finais de API e lidar com solicitações HTTP. Ele aproveita as dicas de tipo do Python para gerar automaticamente documentação interativa da API e realizar validação de dados, tornando-se uma ferramenta poderosa para construir APIs robustas e bem documentadas.

Neste post, exploraremos como implementar rapidamente operações CRUD com FastAPI. Começaremos configurando o FastAPI e o banco de dados, depois procederemos para criar os pontos finais da API para as operações CRUD. Também cobriremos a implementação das operações de criar, ler, atualizar e excluir, bem como testar e validar essas operações. Então, vamos começar e mergulhar no mundo do FastAPI e das operações CRUD!

O que é CRUD no FastAPI?

No FastAPI, CRUD refere-se às operações básicas que podem ser realizadas em dados em um banco de dados ou sistema de armazenamento de dados. CRUD significa Criar, Ler, Atualizar e Excluir, e representa as funcionalidades fundamentais que são essenciais para gerenciar dados na maioria das aplicações.

Aqui está uma explicação detalhada das operações CRUD no FastAPI:

  • Criar (C): Esta operação envolve adicionar novos dados ao banco de dados. No FastAPI, você pode criar dados enviando uma solicitação POST para o ponto final apropriado. Por exemplo, para adicionar um novo usuário ao sistema, você enviaria uma solicitação POST para o ponto final de criação de usuário com os detalhes relevantes do usuário no corpo da solicitação.
  • Ler (R): A operação Ler se refere a recuperar dados existentes do banco de dados. No FastAPI, você pode realizar operações de leitura usando solicitações GET. Por exemplo, se você quiser recuperar todos os usuários ou os detalhes de um usuário específico, você enviaria uma solicitação GET para o respectivo ponto final.
  • Atualizar (U): Esta operação permite que você modifique dados existentes no banco de dados. No FastAPI, você pode atualizar dados usando solicitações PUT ou PATCH. A solicitação PUT é usada para atualizar o recurso inteiro, enquanto a PATCH é usada para modificar campos específicos do recurso. Por exemplo, para atualizar as informações de um usuário, você enviaria uma solicitação PUT ou PATCH para o ponto final do usuário com os detalhes atualizados.
  • Excluir (D): A operação Excluir envolve remover dados do banco de dados. No FastAPI, você pode excluir dados usando solicitações DELETE. Por exemplo, para excluir um usuário do sistema, você enviaria uma solicitação DELETE para o ponto final do usuário com o identificador ou chave única do usuário.

Como Criar Operações CRUD com o FastAPI Rapidamente

Para implementar a funcionalidade CRUD com o FastAPI, siga estas etapas:

Passo 1: Instale o FastAPI: Certifique-se de que o Python está instalado em seu sistema e execute o seguinte comando no terminal para instalar o FastAPI:

pip install fastapi

Passo 2: Crie uma Aplicação FastAPI: Crie um novo arquivo Python (por exemplo, main.py) e importe os módulos e bibliotecas necessários:

from fastapi import FastAPI
from pydantic import BaseModel
from typing import List

app = FastAPI()

Passo 3: Defina Modelos de Dados: Use Pydantic para definir modelos de dados. Por exemplo:

class Item(BaseModel):
    id: int
    name: str
    price: float

Passo 4: Crie Rotas e Manipuladores CRUD: Use o FastAPI para criar rotas e funções de manipulação correspondentes para operações CRUD. Aqui está um exemplo:

items = []

@app.get("/items", response_model=List[Item])
async def read_items():
    return items

@app.post("/items", response_model=Item)
async def create_item(item: Item):
    items.append(item)
    return item

@app.put("/items/{item_id}", response_model=Item)
async def update_item(item_id: int, item: Item):
    items[item_id] = item
    return item

@app.delete("/items/{item_id}")
async def delete_item(item_id: int):
    del items[item_id]
    return {"message": "Item excluído"}

Passo 5: Execute a Aplicação: Para executar a aplicação FastAPI e testar a funcionalidade do APIRouter, use um servidor ASGI como o uvicorn. Certifique-se de que o uvicorn está instalado:

pip install uvicorn

Em seu editor IDE, abra o terminal, navegue até o diretório onde o arquivo main.py está armazenado e execute o seguinte comando para iniciar a aplicação:

uvicorn main:app --reload

Isso iniciará a aplicação FastAPI na porta padrão (geralmente 8000) com recarregamento automático habilitado, para que a aplicação seja recarregada automaticamente quando você fizer alterações no código.

Passo 6: Teste a Operação CRUD

Use uma ferramenta de cliente HTTP (por exemplo, cURL ou Apidog) para enviar solicitações e testar as funcionalidades de Criar, Ler, Atualizar e Excluir. Aqui estão alguns exemplos de solicitações:

  • Criar um novo item: Envie uma solicitação POST com o corpo da solicitação para criar um novo item.
POST http://localhost:8000/items
{
    "id": 1,
    "name": "Maçã",
    "price": 0.5
}
 uma solicitação POST
  • Obter todos os itens: Envie uma solicitação GET para recuperar todos os itens.
GET http://localhost:8000/items
uma solicitação GET
  • Atualizar um item: Envie uma solicitação PUT com o corpo da solicitação para atualizar um item.
GET http://localhost:8000/items
uma solicitação PUT
  • Excluir um item: Envie uma solicitação DELETE para excluir um item.
DELETE http://localhost:8000/items/1
 uma solicitação DELETE

Por fim, podemos escrever testes para a operação de excluir no Apidog. Podemos simular uma solicitação DELETE para o ponto final de exclusão e verificar se o código de status da resposta é 200 (indicando uma exclusão bem-sucedida). Podemos então tentar recuperar os dados excluídos do banco de dados e garantir que não existam.

Ao escrever esses testes, podemos garantir que nossas operações CRUD estão funcionando corretamente e lidam com diferentes cenários, como entrada inválida ou dados inexistentes.

Dicas Bônus

Use o suporte da IDE, como o Visual Studio Code, para melhorar a eficiência do desenvolvimento com autocompletar código, verificação de erros e recursos de depuração.

  • Ao usar o FastAPI, aproveite o suporte da IDE, como o Visual Studio Code, para melhorar a eficiência do desenvolvimento com autocompletar código, verificação de erros e recursos de depuração.
  • Organize seu código separando rotas e funções de manipulação em diferentes módulos, promovendo manutenibilidade e escalabilidade. Utilize o suporte assíncrono do FastAPI para operações assíncronas para melhorar o desempenho e as capacidades de concorrência.
  • Garanta a segurança da API com mecanismos adequados de autenticação e autorização. Use modelos Pydantic para validação e serialização de dados para manter a consistência dos dados e lidar com erros de forma eficaz. Implemente CORS para compartilhamento de recursos entre origens quando necessário.
  • Crie testes abrangentes de unidade e integração para garantir a confiabilidade e funcionalidade da API. Lide com erros de forma elegante com o tratamento de exceções do FastAPI e respostas de erro personalizadas. Monitore o desempenho com logs e profilers e mantenha o FastAPI e suas dependências atualizados para correção de bugs e novos recursos.

Seguindo essas práticas, você pode desenvolver APIs robustas e eficientes com o FastAPI, otimizando seu processo de desenvolvimento e implantação.

Como acessar a API do Claude 3.7 Sonnet e testar usando ApidogTutoriais

Como acessar a API do Claude 3.7 Sonnet e testar usando Apidog

Se você está empolgado com o último lançamento da Anthropic, Claude 3.7 Sonnet, e quer explorar suas capacidades através da API enquanto o testa com o Apidog, você está no lugar certo. 💡Antes de começarmos, deixe-me fazer uma rápida observação: baixe o Apidog gratuitamente hoje e otimize seu processo de teste de API, especialmente para explorar os poderosos recursos do Claude 3.7 Sonnet—perfeito para desenvolvedores que desejam testar modelos de IA de ponta como este!botão Vamos começar com a

@apidog

fevereiro 25, 2025

Como passar o x-API-key no cabeçalho?Tutoriais

Como passar o x-API-key no cabeçalho?

Desvende os segredos da segurança eficaz de APIs, dominando como passar x-API-key nos cabeçalhos. Este guia abrangente revelará a importância desse processo e como ferramentas como o Apidog podem facilitar seus esforços. Continue lendo para garantir que suas interações com a API permaneçam seguras!

Miguel Oliveira

agosto 12, 2024

Como corrigir o erro HTTP 405 Método Não Permitido no PostmanTutoriais

Como corrigir o erro HTTP 405 Método Não Permitido no Postman

O código de erro HTTP 405 ocorre quando você tenta acessar um servidor usando uma chave de API ou token de acesso inválido ou ausente. Neste artigo, veremos mais sobre o erro 405 e como corrigi-lo.

Miguel Oliveira

agosto 11, 2024