Neste vídeo, eu explico como funcionam os métodos e status codes HTTP mais comuns utilizados em APIs, com uma aplicação prática desenvolvida em FastAPI. A aplicação simula uma API de produtos, permitindo operações básicas como listar todos os produtos (GET), criar um novo produto (POST), atualizar um produto existente (PUT) e remover um produto (DELETE). Além disso, demonstro o comportamento dos principais status codes HTTP, como o 200 OK para requisições bem-sucedidas, 201 Created para recursos criados com sucesso, 400 Bad Request para requisições inválidas e 500 Internal Server Error, simulando erros internos do servidor. Esse conteúdo é perfeito para quem deseja entender os fundamentos de APIs de forma prática e didática.
Esta aplicação em FastAPI simula uma API de produtos, permitindo executar operações básicas como:
- GET: Listar todos os produtos.
- POST: Criar um novo produto.
- PUT: Atualizar um produto existente.
- DELETE: Remover um produto.
A aplicação também demonstra o funcionamento dos seguintes Status Codes HTTP:
- 200 OK: Requisição bem-sucedida.
- 201 Created: Recurso criado com sucesso.
- 400 Bad Request: Requisição inválida, geralmente devido a dados ausentes ou incorretos.
- 500 Internal Server Error: Erro interno simulado para demonstração.
Retorna a lista de todos os produtos.
[
{
"id": 1,
"nome": "Produto A",
"descricao": "Descrição do Produto A"
},
{
"id": 2,
"nome": "Produto B",
"descricao": "Descrição do Produto B"
}
]
Cria um novo produto.
nome
(string): Nome do produto.descricao
(string): Descrição do produto.
{
"id": 3,
"nome": "Produto C",
"descricao": "Descrição do Produto C"
}
Atualiza as informações de um produto existente.
produto_id
(int): ID do produto.nome
(string): Nome atualizado.descricao
(string): Descrição atualizada.
{
"id": 1,
"nome": "Produto A Atualizado",
"descricao": "Descrição do Produto A Atualizada"
}
Remove um produto pelo ID.
produto_id
(int): ID do produto a ser removido.
{
"mensagem": "Produto deletado com sucesso."
}
Simula um erro interno do servidor.
{
"detail": "Erro interno do servidor simulado."
}
-
Clone este repositório:
git clone https://github.com/Renatoelho/metodos-status-codes.git metodos-status-codes cd metodos-status-codes
-
Ative Aplicação:
docker compose -p api-aula -f docker-compose.yaml up -d --build
-
Acesse a documentação interativa da API no navegador: http://localhost:8000/docs
Para parar os containers, pressione Ctrl+C
ou execute:
docker compose -p api-aula -f docker-compose.yaml down
Request Methods, datatracker. Disponível em: https://datatracker.ietf.org/doc/html/rfc7231#section-4. Acesso em: 31 Dez. 2024.
Métodos de requisição HTTP, developer.mozilla.org. Disponível em: https://developer.mozilla.org/pt-BR/docs/Web/HTTP/Methods. Acesso em: 31 Dez. 2024.
Lista de códigos de estado HTTP, Wikipedia. Disponível em: https://pt.wikipedia.org/wiki/Lista_de_c%C3%B3digos_de_estado_HTTP. Acesso em: 31 Dez. 2024.