Acessando a API do Django REST Framework¶
Para acessar sua API usando os endpoints do DRF, o Echo Api(VsCode) 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_urlpara 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_CLASSESnosettings.pye defina comoAllowAny
2. Erro 415 Unsupported Media Type¶
- Causa: Header
Content-Typeincorreto - 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 runservere 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.