Menu
CoddyTech

Che cos’è un’API

Fa parte della sezione API JSON del percorso Django di Coddy. Lezione 1 di 19.

Le viste che hai scritto finora restituiscono pagine da leggere. Un’API (interfaccia di programmazione delle applicazioni) restituisce dati per i programmi. Un’app per telefono, uno script o il JavaScript di una pagina richiede un URL e riceve dati invece di HTML.

Questi dati sono di solito JSON, testo che assomiglia a dizionari e liste Python, con virgolette doppie e true, false e null al posto di True, False e None di Python:

{"title": "Buy milk", "done": false, "due": null}

Django trasforma un dizionario in una risposta JSON con JsonResponse:

from django.http import JsonResponse


def hello(request):
    return JsonResponse({"message": "Hi", "ready": True})

Scrive il JSON e imposta l’intestazione Content-Type su application/json. Un’intestazione è una riga di informazioni inviata insieme alla risposta; questa indica al programma il tipo di dati che ha ricevuto.

challenge icon

Sfida

Facile

Aggiungi al gestore delle attività il suo primo endpoint, un URL che risponde con numeri anziché con una pagina.

  1. In tasks/views.py, importa JsonResponse da django.http e aggiungi una vista stats che risponda con JSON: total, il numero di attività, e done, il numero di attività completate.
  2. In tasks/urls.py, aggiungi la route "api/stats/" con il nome stats.

Premi «Esegui»: l'anteprima si apre su /api/stats/ e mostra {"total": 3, "done": 1}.

Provalo tu

from django.shortcuts import render

from .models import Task


def home(request):
    return render(request, "tasks/home.html", {"tasks": Task.objects.all()})

Tutte le lezioni di API JSON

Esercitati da solo: Playground Django