Menu
CoddyTech

Qu’est-ce qu’une API ?

Fait partie de la section API JSON du Journey Django de Coddy. Leçon 1 sur 19.

Les vues que tu as écrites jusqu’ici renvoient des pages à lire. Une API (interface de programmation d’application) renvoie des données destinées aux programmes. Une application mobile, un script ou le JavaScript d’une page demande une URL et reçoit des données en retour au lieu de HTML.

Ces données sont généralement au format JSON, un texte qui ressemble aux dictionnaires et aux listes Python, avec des guillemets doubles et true, false et null là où Python utilise True, False et None :

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

Django transforme un dictionnaire en réponse JSON avec JsonResponse :

from django.http import JsonResponse


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

Il écrit le JSON et définit l’en-tête Content-Type sur application/json. Un en-tête est une ligne d’information envoyée avec la réponse ; celui-ci indique au programme quel type de données il a reçu.

challenge icon

Défi

Facile

Ajoute au gestionnaire de tâches son premier point de terminaison, une URL qui renvoie des nombres au lieu d’une page.

  1. Dans tasks/views.py, importe JsonResponse depuis django.http et ajoute une vue stats qui renvoie du JSON : total, le nombre de tâches, et done, le nombre de tâches terminées.
  2. Dans tasks/urls.py, ajoute la route "api/stats/" nommée stats.

Clique sur « Jouer » : l’aperçu s’ouvre sur /api/stats/ et affiche {"total": 3, "done": 1}.

Essayez vous-même

from django.shortcuts import render

from .models import Task


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

Toutes les leçons de API JSON

Entraînez-vous par vous-même : Playground Django