O que é uma API
Parte da seção APIs JSON do Journey de Django da Coddy. Lição 1 de 19.
As visualizações que você escreveu até agora retornam páginas para as pessoas lerem. Uma API (interface de programação de aplicações) retorna dados para programas. Um aplicativo de celular, um script ou o JavaScript em uma página solicita uma URL e recebe dados em vez de HTML.
Esses dados geralmente são JSON, um texto que se parece com dicionários e listas do Python, com aspas duplas e true, false e null onde o Python usa True, False e None:
{"title": "Buy milk", "done": false, "due": null}O Django transforma um dicionário em uma resposta JSON com JsonResponse:
from django.http import JsonResponse
def hello(request):
return JsonResponse({"message": "Hi", "ready": True})Ele grava o JSON e define o cabeçalho Content-Type como application/json. Um cabeçalho é uma linha de informação enviada com a resposta; este informa ao programa que tipo de dado ele recebeu.
Desafio
FácilAdicione ao rastreador de tarefas seu primeiro endpoint, uma URL que responde com números em vez de uma página.
- Em
tasks/views.py, importeJsonResponsededjango.httpe adicione uma viewstatsque responda com JSON:total, o número de tarefas, edone, o número de tarefas concluídas. - Em
tasks/urls.py, adicione a rota"api/stats/"chamadastats.
Pressione Executar: a prévia abre /api/stats/ e mostra {"total": 3, "done": 1}.
Experimente você mesmo
from django.shortcuts import render
from .models import Task
def home(request):
return render(request, "tasks/home.html", {"tasks": Task.objects.all()})
Todas as lições de APIs JSON
2Lendo requisições
Filtrando com uma consultaCriando com POST5Projeto: Organizando o Trabalho
Projeto: PrioridadesProjeto: Limpar Tarefas ConcluídasPratique por conta própria: Playground de Django