Django Rest Framework
Django Rest Framework
com Django
O melhor de tudo é que ele utiliza nosso querido Django como base!
Por isso é interessante que você já possua certo conhecimento em Django.
DJANGO - REST
Podemos
analisar o
link!
APIs são mecanismos que permitem que dois componentes de software se comuniquem usando um conjunto de
definições e protocolos. Por exemplo, o sistema de software do instituto meteorológico contém dados meteorológicos
diários. A aplicação para a previsão do tempo em seu telefone “fala” com esse sistema por meio de APIs e mostra
atualizações meteorológicas diárias no telefone.
DJANGO - REST
Perguntas?
DJANGO - WEB
Agora vamos
construir a nossa.
DJANGO - REST
IMPORTANTE!!!
Para trabalharmos com o DRF, é necessário que tenhamos um projeto feito no Django.
Precisamos ter, pelo menos, aquela parte do Django ADMIN realizada.
DJANGO - REST
1) Modelagem;
2)Serializers;
3) ViewSets;
4) Routers
DJANGO - REST
1) Modelagem
Vamos começar
um novo
projeto, e no nosso
‘models.py’,
deixaremos assim:
DJANGO - REST
2) Serializer
Os serializers do DRF são componentes essenciais
do framework.
Eles servem para traduzir entidades complexas,
como querysets e instâncias de classes em representações
simples que podem ser usadas no tráfego da web, como
JSON e XML
DJANGO - REST
2) Serializer
Todo o código para tratamento de Requisições, serialização e desserialização de objetos e formulação de Respostas
HTTP está dentro das classes que herdamos direta e indiretamente.
• queryset: Configura o queryset base para ser utilizado pela API. Ele é utilizado na ação de listar, por exemplo.
• serializer_class: Configura qual Serializer deverá ser usado para consumir dados que chegam à API e produzir
dados que serão enviados como resposta.
• permission_classes: Lista contendo as permissões necessárias para acessar o endpoint exposto por essa ViewSet.
Nesse caso, irá permitir apenas o acesso a usuários autenticados.
DJANGO - REST
3) Routers
• app_name: é necessário para dar contexto às URLs geradas. Esse parâmetro especifica o namespace das
URLConfs adicionadas.
• DefaultRouter: é o Router que escolhemos para geração automática das URLs. O parâmetro trailing_slash
especifica que não é necessário o uso de barras ’ / ’ no final da URL.
• O método register recebe dois parâmetros: o primeiro é o prefixo que será usado na URL (no nosso caso:
http://localhost:8000/concessionaria) e o segundo é a View que ira responder as URLs com esse
prefixo.
• Por último, temos o velho urlpatterns do Django, que utilizamos para expor as URLs desse app.
DJANGO - REST 3) Routers
Agora precisamos adicionar as URLs específicas do nosso app ao projeto.
DJANGO - REST
3) Routers
Obs: Como boa prática, use sempre o prefixo api/v1/ para manter a
compatibilidade caso precise evoluir sua api pra V2 (api/v2/)!
DJANGO - REST
Vamos testar?