Acessando a API do Django REST Framework
Para acessar sua API usando os endpoints do DRF e o Postman, siga estes passos:
Endpoints Disponíveis
Considerando a estrutura proposta anteriormente, seus endpoints principais serão:
GET /api/produtos/
- Lista todos os produtosPOST /api/produtos/
- Cria um novo produtoGET /api/produtos/<id>/
- Detalhes de um produto específicoPUT /api/produtos/<id>/
- Atualiza um produtoPATCH /api/produtos/<id>/
- Atualização parcial de um produtoDELETE /api/produtos/<id>/
- Remove um produtoGET /api/produtos/disponiveis/
- Lista produtos disponíveisGET /api/produtos/baratos/
- Lista produtos com preço < 1000
Acessando via Navegador (DRF UI)
1.Execute o servidor de desenvolvimento:
2.Acesse os endpoints no navegador:
- http://localhost:8000/api/produtos/]
- http://localhost:8000/api/produtos/1/
- http://localhost:8000/api/produtos/disponiveis/
3.A interface web do DRF permitirá:
- Visualização dos dados em formato navegável
- Teste de métodos GET diretamente
- Formulário para testar POST, PUT, PATCH e DELETE
Acessando via Postman
1. Configurando o Postman
- Abra o Postman
- Crie uma nova coleção (opcional, mas recomendado)
- Configure o ambiente (opcional) com variável
base_url
=http://localhost:8000/api
2. Exemplos de Requisições
GET - Listar todos os produtos
- Método: GET
- URL:
{{base_url}}/produtos/
- Headers:
Content-Type: application/json
- Body: Nenhum
POST - Criar novo produto
- Método: POST
- URL:
{{base_url}}/produtos/
- Headers:
Content-Type: application/json
- Body (raw, JSON):
{
"nome": "Novo Produto",
"preco": 99.90,
"descricao": "Descrição do novo produto",
"disponivel": true
}
GET - Detalhes de um produto específico
- Método: GET
- URL:
{{base_url}}/produtos/1/
(onde 1 é o ID do produto) - Headers:
Content-Type: application/json
- Body: Nenhum
PUT - Atualizar um produto completo
- Método: PUT
- URL:
{{base_url}}/produtos/1/
- Headers:
Content-Type: application/json
- Body (raw, JSON):
{
"nome": "Produto Atualizado",
"preco": 129.90,
"descricao": "Nova descrição",
"disponivel": false
}
PATCH - Atualização parcial
- Método: PATCH
- URL:
{{base_url}}/produtos/1/
- Headers:
Content-Type: application/json
- Body (raw, JSON):
DELETE - Remover um produto
- Método: DELETE
- URL:
{{base_url}}/produtos/1/
- Headers:
Content-Type: application/json
- Body: Nenhum
GET - Produtos disponíveis
- Método: GET
- URL:
{{base_url}}/produtos/disponiveis/
- Headers:
Content-Type: application/json
- Body: Nenhum
GET - Produtos baratos
- Método: GET
- URL:
{{base_url}}/produtos/baratos/
- Headers:
Content-Type: application/json
- Body: Nenhum
3. Dicas para Uso no Postman
-
Salve as requisições: Crie uma coleção para seu projeto e salve cada endpoint como uma requisição diferente
-
Use variáveis de ambiente: Configure variáveis como
base_url
para facilitar a mudança entre ambientes -
Teste os status codes:
- 200 OK para GET bem-sucedido
- 201 Created para POST bem-sucedido
- 400 Bad Request para dados inválidos
-
404 Not Found para recursos não existentes
-
Exporte a coleção: Você pode exportar como JSON e compartilhar com sua equipe
Solução de Problemas Comuns
1. Erro 403 Forbidden
- Causa: Permissões ainda estão ativas
- Solução: Verifique
DEFAULT_PERMISSION_CLASSES
nosettings.py
e defina comoAllowAny
2. Erro 415 Unsupported Media Type
- Causa: Header
Content-Type
incorreto - Solução: Sempre inclua
Content-Type: application/json
3. Dados não aparecem após POST
- Causa: Pode ser um problema com o banco de dados em memória durante testes
- Solução: Verifique se você está usando
python manage.py runserver
e não fechou o terminal
4. Campos obrigatórios faltando
- Causa: Campos required no serializer não foram fornecidos
- Solução: Verifique a resposta de erro para ver quais campos são obrigatórios
Exemplo Completo de Requisição no Postman
- Configuração inicial:
- Abra o Postman
- Clique em "New Request"
- Selecione o método HTTP desejado (GET, POST, etc)
-
Digite a URL:
http://localhost:8000/api/produtos/
-
Para POST/PUT/PATCH:
- Vá para a aba "Body"
- Selecione "raw"
- Escolha "JSON" no dropdown
-
Cole o JSON com os dados
-
Enviando a requisição:
- Clique em "Send"
- Verifique o status code na resposta
- Visualize os dados retornados na aba "Body" da resposta
Com esses passos, você poderá testar completamente sua API Django REST Framework tanto pelo navegador (usando a interface web do DRF) quanto pelo Postman, sem a necessidade de configurar autenticação.