Félicitations à vous – vous avez maintenant toutes les clés en main pour implémenter des API avec DRF dans vos projets Django ! Prenons un moment pour repasser sur tout ce que vous avez fait pendant le cours…
Dans la première partie, vous avez découvert DRF et notre cas fil rouge, la boutique en ligne. Vous avez installé DRF et créé votre premier endpoint. Puis, vous avez ajouté un ReadOnlyModelViewset, restreint l’accès à l’endpoint et mis cette API simple à l’épreuve d’un premier test.
Dans la deuxième partie, vous avez ajouté plus d’endpoints, tout en les optimisant. Vous avez diminué le nombre d’appels à l’API grâce aux serializers, et amélioré le rendu des endpoints. Ensuite, vous avez exploré les différentes actions et comment valider les données renseignées par un utilisateur, avant d’ajouter une API externe au projet, et de la tester avec les mocks.
Enfin, vous avez sécurisé votre API avec l’authentification. Vous avez intégré Simple JWT au projet pour donner et rafraîchir des tokens, et vous avez différencié les accès à certains endpoints entre utilisateurs afin de permettre l’administration de la boutique en utilisant des ModelViewsets.
L’API que nous avons commencé à construire tout au début du cours est maintenant complète. Si cela vous tente, vous pouvez continuer votre apprentissage en l’optimisant ou la modifiant.
Des pistes ? Certaines fonctionnalités de DRF peuvent encore être poussées plus loin !
Par exemple, certaines librairies, comme drf-nested-routers (en anglais), nous permettent de combiner des routeurs pour obtenir des URL où l’information est hiérarchisée. Nous pouvons implémenter GET /api/category/{category_pk}/product/{product_pk}/article/
pour obtenir les articles du produit et de la catégorie concernés, en forçant un contrôle strict sur les identifiants fournis.
Ou alors django-url-filter, qui permet la mise en place de filtres complexes pour un résultat fin à la main de vos applications clientes, en se basant sur la puissance de l’ORM de Django. Vous pouvez essayer d’implémenter GET /api/article/?product__category_id__in=2,4&price__gte=2
, qui permet l’obtention d’articles de 2 catégories, pour lesquels le prix est supérieur à 2 €.
L’authentification peut également être approfondie en permettant par exemple de l’association de compte au travers de l’oauth2 fourni par django-oauth-toolkit.
Ce cours touche maintenant à sa fin, vous avez acquis toutes les connaissances permettant la mise en place d’une API avec Django Rest Framework sur un socle solide.
Le dernier conseil que je puisse vous donner est de communiquer avec les équipes qui vont utiliser votre API (mobile, frontend, partenaires, etc.). Une bonne API est avant tout une API construite conjointement entre son créateur et ses utilisateurs, car l’usage compte bien plus que la performance.
Bonne continuation à vous dans votre apprentissage !