Menu
CoddyTech

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.

challenge icon

Desafio

Fácil

Adicione ao rastreador de tarefas seu primeiro endpoint, uma URL que responde com números em vez de uma página.

  1. Em tasks/views.py, importe JsonResponse de django.http e adicione uma view stats que responda com JSON: total, o número de tarefas, e done, o número de tarefas concluídas.
  2. Em tasks/urls.py, adicione a rota "api/stats/" chamada stats.

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

Pratique por conta própria: Playground de Django