Django é um framework web em Python projetado para auxiliar os desenvolvedores a construir rapidamente e facilmente aplicações web. É gratuito, de código aberto e possui uma grande e ativa comunidade de desenvolvedores.
Você quer aprender a criar e testar uma API Django que pode enviar e receber dados JSON? Se sim, então você está no lugar certo. Ao final deste post, você será capaz de criar e testar uma API Django que pode enviar e receber dados JSON como um profissional. Vamos começar!
Você também pode inspecionar os cabeçalhos, cookies, códigos de status e outros detalhes da resposta. O Apidog também permite que você manipule os dados da resposta usando JavaScript, filtre os dados usando JSONPath e valide os dados usando JSON Schema.
O que é JSON?
JSON significa JavaScript Object Notation. É um formato padronizado para representar dados estruturados. É um formato baseado em texto que usa texto legível por humanos para armazenar e transmitir objetos de dados consistindo em pares de atributo-valor e arrays (ou outros valores serializáveis). JSON é comumente usado para transmitir dados em aplicações web, como enviar dados do servidor para o cliente, ou vice-versa.
JSON pode representar nativamente seis tipos de dados: strings, números, booleanos, null, arrays e objetos. Por exemplo, aqui está uma representação JSON de um post:
{
"id": 1001,
"title": "O que é JSON?",
"author": {
"id": 1,
"name": "James Walker"
},
"tags": [
"api",
"json",
"programação"
],
"published": false,
"publishedTimestamp": null
}
Este exemplo demonstra todos os tipos de dados JSON. Também ilustra a concisão dos dados formatados em JSON, uma das características que tornou tão atraente para uso em APIs.
Noções Básicas do Método de Requisição POST
O método de requisição POST é um tipo de requisição HTTP usado para enviar dados a um servidor para criar ou atualizar um recurso. É comumente usado para upload de arquivos ou envio de formulários da web preenchidos. O método solicita ao servidor web que aceite os dados contidos no corpo da mensagem da requisição, tipicamente para fins de armazenamento.
JSON, abreviação de JavaScript Object Notation, é frequentemente empregado em requisições POST devido à sua capacidade de transmitir dados estruturados para um servidor. Este formato estruturado permite uma fácil interpretação e processamento pelo servidor, especialmente ao criar ou atualizar recursos.
O formato padronizado do JSON para representar objetos e dados torna-o uma escolha popular para enviar dados em requisições POST. Ao usar JSON, os desenvolvedores podem garantir que os dados enviados ao servidor estejam bem organizados e facilmente compreensíveis, aumentando assim a eficiência da criação e atualizações de recursos.

O que é Django e Por Que Você Deveria Usá-lo?
Django é um framework web que ajuda você a construir aplicações web rápida e facilmente. É escrito em Python e segue o padrão Model-View-Template (MVT). Ele fornece diversas funcionalidades e ferramentas, como:
- Uma interface administrativa embutida que permite gerenciar seus dados e usuários
- Um ORM poderoso que permite interagir com vários bancos de dados usando código Python
- Um despachador de URLs flexível que permite mapear URLs para views
- Um mecanismo de templates que permite criar páginas HTML dinâmicas usando código Python e variáveis
- Um framework de formulários que permite criar e validar formulários web
- Um framework de testes que permite escrever e executar testes automatizados
- Um framework de segurança que protege sua aplicação web de ataques comuns, como CSRF, XSS, injeção SQL, etc.

Django é um ótimo framework para quem deseja construir aplicações web, seja você um iniciante ou um especialista. Ele ajuda você a:
- Desenvolver aplicações web mais rápido e mais fácil, fornecendo muitas funcionalidades prontas para uso
- Escrever código limpo e manutenível seguindo os princípios DRY (Don’t Repeat Yourself) e KISS (Keep It Simple, Stupid)
- Escalar sua aplicação web facilmente usando os recursos de cache, middleware e deploy do Django
- Aprender e melhorar suas habilidades em Python e desenvolvimento web usando a extensa documentação e recursos da comunidade do Django
Como Configurar um Projeto Django para Buscar Dados JSON do POST
Para criar e testar uma API Django que pode enviar e receber dados JSON, você precisa configurar um projeto Django e criar um aplicativo API simples.
Instalação do Django
Você também precisa instalar algumas dependências e ferramentas, como:
- Python: A linguagem de programação na qual o Django é baseado. Você pode baixar e instalar o Python a partir do site oficial: https://www.python.org/
- Pip: O gerenciador de pacotes que permite instalar e gerenciar pacotes Python. Você pode instalar o Pip seguindo as instruções do site oficial: https://pip.pypa.io/en/stable/installing/
- Virtualenv: A ferramenta que permite criar e gerenciar ambientes Python isolados. Você pode instalar o Virtualenv executando o seguinte comando em seu terminal:
pip install virtualenv
- Django: O framework web que você usará para criar sua aplicação web. Você pode instalar o Django executando o seguinte comando em seu terminal:
pip install django
- Django REST Framework: A biblioteca que permite criar e testar APIs RESTful usando Django. Você pode instalar o Django REST Framework executando o seguinte comando em seu terminal:
pip install djangorestframework
Após instalar essas dependências e ferramentas, você pode criar um projeto Django executando o seguinte comando em seu terminal:
django-admin startproject django_post_json
Este comando criará uma pasta chamada django_post_json
que contém os seguintes arquivos e pastas:
django_post_json
: A pasta principal que contém as configurações do projeto e arquivos de configuração, comosettings.py
,urls.py
,wsgi.py
, etc.manage.py
: O script que permite executar vários comandos e tarefas para seu projeto, comorunserver
,migrate
,test
, etc.db.sqlite3
: O arquivo de banco de dados padrão que o Django usa para armazenar seus dados.

Criando a API Django
Você também pode criar um aplicativo API simples executando o seguinte comando em seu terminal:
python manage.py startapp api
Este comando criará uma pasta chamada api
que contém os seguintes arquivos e pastas:
migrations
: A pasta que contém os arquivos que rastreiam as alterações no seu esquema de banco de dados__init__.py
: O arquivo que marca a pasta como um pacote Pythonadmin.py
: O arquivo que permite registrar seus modelos com a interface administrativa do Djangoapps.py
: O arquivo que contém a configuração para seu aplicativomodels.py
: O arquivo que permite definir seus modelos de dadostests.py
: O arquivo que permite escrever e executar testes para seu aplicativoviews.py
: O arquivo que permite definir suas views e lógica para seu aplicativo
Você também precisa adicionar seu aplicativo à lista INSTALLED_APPS
no arquivo settings.py
do seu projeto. Você pode fazer isso adicionando a seguinte linha ao final da lista:
'api.apps.ApiConfig',
Você também precisa adicionar o Django REST Framework à lista INSTALLED_APPS
. Você pode fazer isso adicionando a seguinte linha ao final da lista:
'rest_framework',
Você agora configurou um projeto Django e criou um aplicativo API simples. Você pode executar seu projeto executando o seguinte comando em seu terminal:
python manage.py runserver
Este comando iniciará um servidor de desenvolvimento que você pode acessar do seu navegador em http://127.0.0.1:8000/. Você deve ver uma página que diz “A instalação foi bem-sucedida! Parabéns!”
Como Criar uma View para Buscar Dados JSON do POST em Django
Para criar e testar uma API Django que pode enviar e receber dados JSON, você precisa criar uma view e uma URL para o endpoint da API. Uma view é uma função ou classe Python que lida com a requisição e resposta para uma URL específica. Ela define a lógica e o comportamento do seu aplicativo. Uma URL é uma string que mapeia para uma view. Ela define o endereço e o padrão do seu aplicativo.
- Obter uma lista de todas as mensagens em formato JSON
- Criar uma nova mensagem em formato JSON
- Obter uma única mensagem em formato JSON
- Atualizar uma única mensagem em formato JSON
- Excluir uma única mensagem em formato JSON
Como Criar uma View para Seu Django
Você pode criar uma view para este endpoint da API no arquivo views.py
do seu aplicativo. Você pode fazer isso adicionando o seguinte código ao arquivo:
from rest_framework import generics
from .models import Message
from .serializers import MessageSerializer
class MessageListCreateView(generics.ListCreateAPIView):
queryset = Message.objects.all()
serializer_class = MessageSerializer
class MessageRetrieveUpdateDestroyView(generics.RetrieveUpdateDestroyAPIView):
queryset = Message.objects.all()
serializer_class = MessageSerializer
Este código criará duas views que herdam das views genéricas do Django REST Framework. A view MessageListCreateView
lidará com as requisições GET e POST para a lista de mensagens. A view MessageRetrieveUpdateDestroyView
lidará com as requisições GET, PUT, PATCH e DELETE para uma única mensagem.
Ambas as views usarão os atributos queryset
e serializer_class
para especificar a fonte de dados e o formato dos dados. Você pode aprender mais sobre as views genéricas e seus métodos na documentação do Django REST Framework: https://www.django-rest-framework.org/api-guide/generic-views/
Você também pode criar uma URL para este endpoint da API no arquivo urls.py
do seu aplicativo. Você pode criar este arquivo na mesma pasta que seu arquivo views.py
. Você pode fazer isso adicionando o seguinte código ao arquivo:
from django.urls import path
from .views import MessageListCreateView, MessageRetrieveUpdateDestroyView
urlpatterns = [
path('messages/', MessageListCreateView.as_view(), name='message-list'),
path('messages/<int:pk>/', MessageRetrieveUpdateDestroyView.as_view(), name='message-detail'),
]
Este código criará dois padrões de URL que mapeiam para as views que você criou. O primeiro padrão corresponderá à URL /messages/
e usará a view MessageListCreateView
. O segundo padrão corresponderá à URL /messages/<int:pk>/
e usará a view MessageRetrieveUpdateDestroyView
. A parte <int:pk>
é um conversor de caminho que irá capturar um valor inteiro e passá-lo para a view como o argumento pk
. Este valor será usado para identificar o objeto de mensagem sobre o qual a view irá operar. Você também pode adicionar um argumento name
a cada padrão para dar um identificador exclusivo que você pode usar para se referir à URL em seu código.
Como Criar a URL para Seu Django
Você também precisa incluir os padrões de URL do seu aplicativo no arquivo urls.py
do seu projeto. Você pode fazer isso adicionando o seguinte código ao arquivo:
from django.urls import path, include
urlpatterns = [
path('api/', include('api.urls')),
]
Este código criará um padrão de URL que corresponderá à URL /api/
e incluirá os padrões de URL do seu aplicativo. Dessa forma, você pode criar um namespace para seu aplicativo e evitar conflitos com outros aplicativos ou URLs. Você também pode adicionar uma barra à direita no final da URL para torná-la consistente e evitar problemas de redirecionamento.
Você agora criou uma view e uma URL para o endpoint da API. Você pode testar sua API executando o seguinte comando em seu terminal:
python manage.py runserver
Este comando iniciará um servidor de desenvolvimento que você pode acessar do seu navegador em http://127.0.0.1:8000/. Você também pode usar o Apidog, uma ferramenta baseada na web que permite testar e depurar APIs com facilidade, para testar sua API. Eu vou mostrar como fazer isso na próxima seção.
Manipulando Dados JSON do POST em Django
Manipular dados JSON do POST em Django é uma tarefa comum para desenvolvedores web que desejam criar e testar APIs RESTful. O Django fornece várias funcionalidades e ferramentas para ajudá-lo nessa tarefa, como:
- A propriedade
request.body
que permite acessar os dados brutos do corpo da requisição como bytes. Você pode usar o módulojson
para analisar os dados em um dicionário Python. Por exemplo, você pode escrever o seguinte código em sua view:
import json
from django.http import JsonResponse
def my_view(request):
if request.method == 'POST':
data = json.loads(request.body) # analisa os dados JSON em um dicionário
# faz algo com os dados
return JsonResponse(data) # retorna os dados como uma resposta JSON
- A classe
JsonResponse
que permite retornar uma resposta que é serializada em formato JSON. Você pode passar um dicionário ou uma lista Python como o primeiro argumento e, opcionalmente, especificar outros argumentos, comostatus
,safe
,json_dumps_params
, etc. Por exemplo, você pode escrever o seguinte código em sua view:
from django.http import JsonResponse
def my_view(request):
if request.method == 'GET':
data = {'name': 'Alice', 'email': 'alice@example.com'} # cria um dicionário
return JsonResponse(data, status=200, safe=True) # retorna o dicionário como uma resposta JSON
- O Django REST Framework, uma biblioteca de terceiros que permite criar e testar APIs RESTful usando Django. Ele fornece várias funcionalidades e ferramentas, como serializers, views genéricas, roteadores, permissões, autenticação, etc. Por exemplo, você pode escrever o seguinte código em seu arquivo
serializers.py
:
from rest_framework import serializers
from .models import Message
class MessageSerializer(serializers.ModelSerializer):
class Meta:
model = Message
fields = ['name', 'email', 'message']
Este código criará um serializer que converte seu modelo Message
em formato JSON e vice-versa. Você pode aprender mais sobre o Django REST Framework e suas funcionalidades e ferramentas neste artigo:

Estas são algumas das técnicas avançadas para manipular dados JSON do POST em Django. Você pode usá-las para criar e testar suas próprias APIs Django que podem enviar e receber dados JSON.
Buscar Dados JSON do POST do Django com Apidog
Apidog é uma ótima ferramenta para quem trabalha com APIs, seja você um desenvolvedor, um testador, um designer ou um estudante. Ele ajuda você a:
- Aprender a usar diferentes APIs e explorar suas funcionalidades
- Testar e depurar suas próprias APIs e encontrar erros e bugs
- Experimentar com diferentes parâmetros e opções e ver como eles afetam a resposta
- Documentar e demonstrar o uso de sua API e resultados
- Colaborar e comunicar-se com outros usuários e desenvolvedores de API
Para testar sua API Django que pode enviar e receber dados JSON usando Apidog, você precisa seguir estes passos:
- Acesse o site do Apidog e crie uma conta gratuita. Você também pode usar o Apidog sem uma conta, mas não poderá salvar e compartilhar suas requisições. Abra o Apidog e crie uma nova requisição.

- Selecione o método HTTP que você deseja usar. Por exemplo, se você quiser obter a lista de mensagens, pode selecionar o método GET. Se você quiser criar uma nova mensagem, pode selecionar o método POST.

- Insira a URL do seu endpoint da API no campo de entrada de URL. Adicione quaisquer cabeçalhos, cookies ou parâmetros que você precisar para sua requisição. Por exemplo, se você quiser criar uma nova mensagem, precisará adicionar o cabeçalho
Content-Type
com o valorapplication/json
e escrever os dados em formato JSON no campo de entrada do corpo. Por exemplo, você pode escrever os seguintes dados:

- Clique no botão Enviar para enviar a requisição para sua API. O Apidog então exibirá a resposta da sua API na aba Resposta. Você também pode alternar para as abas Cabeçalhos, Cookies ou Raw para ver outros detalhes da resposta.

- Analise e manipule os dados da resposta usando os recursos e ferramentas do Apidog. Você pode usar o Visualizador JSON, JSONPath, JavaScript, JSON Schema e outras funcionalidades e ferramentas para visualizar, filtrar, modificar ou validar os dados da resposta. Você também pode salvar sua requisição e resposta e compartilhá-las com outros usando uma URL exclusiva.
Você agora testou sua API Django que pode enviar e receber dados JSON usando o Apidog. Você também pode testar outros endpoints e métodos de API usando os mesmos passos. Você também pode usar o Apidog para testar outras APIs que encontrar online ou criar você mesmo. O Apidog é uma ferramenta versátil e poderosa que pode ajudá-lo em qualquer tarefa relacionada a APIs. Você pode aprender mais sobre o Apidog e seus recursos e ferramentas no site oficial:
Conclusão
Neste post do blog, eu mostrei como criar e testar uma API Django que pode enviar e receber dados JSON. Você aprendeu como:
- Configurar um projeto Django e criar um aplicativo API simples
- Definir um modelo e um serializer para os dados JSON
- Criar uma view e uma URL para o endpoint da API
- Testar a API usando Apidog, uma ferramenta baseada na web que permite testar e depurar APIs com facilidade
- Analisar e manipular os dados JSON usando os recursos e ferramentas do Apidog
Espero que você tenha achado este post do blog inspirador e útil. Você pode usar as habilidades e conhecimentos que adquiriu neste post do blog para criar e testar suas próprias APIs Django que podem enviar e receber dados JSON.
Você também pode usar Apidog para testar e depurar quaisquer outras APIs que você encontrar ou criar. O Apidog é uma ferramenta útil e prática que pode tornar seu desenvolvimento e teste de APIs mais fáceis e rápidos.