Rest

Sécurité

Add Role-Based Access Control On Top Of Your REST API

Cet article traite de la mise en œuvre d'un contrôle d'accès basé sur les rôles (RBAC) pour les API REST. Il souligne l'importance de la gestion des autorisations sur les applications web à page unique, tant côté client que serveur. En présentant le module Caddy 'simple_rest_rbac', l'article explique comment appliquer des vérifications d'autorisation sur le serveur, en s'appuyant sur les définitions de rôles de react-admin. Ce middleware open source facilite l'intégration de JWT pour récupérer les rôles des utilisateurs et gère la configuration des rôles et permissions en format JSON, rendant ainsi le développement d'API plus sécurisé et structuré.

Architecture

Do you need a Backend For Frontend?

L'article traite des défis rencontrés par les équipes de développement face à une architecture de logiciels inefficace et propose l'utilisation du modèle Backend-for-Frontend (BFF) comme solution. Ce modèle vise à optimiser l'interaction des applications clientes avec des systèmes back-end complexes, en créant une couche dédiée qui transforme et agrège les données selon les besoins spécifiques des clients. Le BFF permet de réduire les appels d'API, de simplifier la gestion de l'authentification et de rendre les systèmes plus performants en répondant aux exigences des interfaces utilisateurs tout en évitant de lier la logique métier au frontend.

"
Dev back

What is the Right Way to Design REST APIs in Java?

Cet article traite des meilleures pratiques pour concevoir des API REST en Java. Il explique que REST est une architecture web et non un protocole, et souligne l'importance de la conception d'APIs claires et maintenables. Parmi les principes clés abordés, on trouve l'interface uniforme, l'utilisation de verbes HTTP, l'auto-descriptivité des messages, le caractère sans état des requêtes, la mise en cache explicite des réponses, et la possibilité d'avoir une architecture en couches. Ces pratiques garantissent la fiabilité et l'évolutivité des API dans le temps.

Dev back

REST APIs: Stop Naming Them Like a Drunk Intern 🍺💻

Cet article aborde l'importance de nommer les API REST de manière cohérente et professionnelle, en dénonçant les mauvaises pratiques courantes comme l'utilisation de chemins peu clairs ou l'usage inapproprié des termes singuliers et pluriels. Il insiste sur le fait qu'une API devrait être bien structurée, pour participer à la création d'une expérience utilisateur propre et prévisible. En partageant des conseils, l'auteur encourage les développeurs à réévaluer leurs habitudes de nommage pour améliorer la qualité de leurs API.

Dev back

Java Enterprise: The Bloated Monster We All Pretend to Love

Cet article aborde la complexité et l'enchevêtrement des dépendances dans l'architecture Java Enterprise, illustrant comment 20 ans de pratiques recommandées ont transformé des logiques métier simples en un système surchargé de 47 couches de dépendances. L'auteur critique l'approche actuelle qui, loin d'être élégante, semble avoir créé un chaos organisationnel au sein du code, rendant les ajouts ou modifications bureaucratiques et lourds. L'article appelle à une réflexion sur les véritables intentions de l'architecture en entreprise et son efficacité.

Dev back

I Profiled My Spring Boot App — And Reduced CPU Usage by 70%

Cet article décrit l'expérience d'un développeur qui a profité du profilage de son application Spring Boot pour réduire son utilisation CPU de 70%. Il explique comment un service CRUD simple, fonctionnant sur une instance cloud, avait des performances médiocres, avec une utilisation CPU constante supérieure à 80%. En analysant l'application, il a pu améliorer les temps de réponse de 40% et significativement réduire les coûts sur AWS. L'article propose également des conseils pratiques pour appliquer le profilage à d'autres applications Spring Boot.

Dev back

10 Practical REST API Design Rules Every Java Developer Should Follow in 2025

Cet article présente dix règles pratiques que chaque développeur Java devrait suivre pour un design efficace des API REST en 2025. Il met en avant l'importance d'utiliser des noms dans les URLs plutôt que des verbes, ainsi que l'utilisation des méthodes HTTP appropriées. Ces règles visent à faciliter la création d'API plus claires, sûres et conviviales, en se basant sur l'expérience acquise par l'auteur à travers différents projets dans les secteurs financier, logistique et de l'e-commerce.

Dev back

Why gRPC is x50 better than REST

Cet article présente les avantages de gRPC par rapport à REST, en particulier en matière de rapidité. L'auteur cite une intervention lors d'une conférence Java où il est affirmé que gRPC est beaucoup plus performant que REST, qui est critiqué pour ses limitations. L'auteur partage également ses recherches et implémentations concernant ce protocole, visant à simplifier les concepts pour les développeurs intéressés.

Dev back

REST in Pieces: When One Slash Stops Your Spring Boot Endpoint from Working

Cet article explique comment un petit slash à la fin d'une URL peut affecter le fonctionnement d'un point de terminaison REST dans Spring Boot. Il met en lumière la différence entre une URL avec et sans slash, et comment Spring interprète ces chemins comme distincts par défaut, ce qui peut entraîner des erreurs inattendues si le routage n'est pas configuré correctement. L'auteur plonge dans les détails de cette problématique pour clarifier son impact sur les applications web.

Dev back

Mastering Spring Boot APIs: The Skillset That Separates Good Devs from Great Ones

Cet article présente les compétences essentielles pour maîtriser le développement d'APIs avec Spring Boot. Il aborde des sujets comme l'utilisation correcte des méthodes HTTP, la sécurité avec JWT et OAuth2, une gestion des erreurs efficace, la documentation avec Swagger et SpringDoc, ainsi que des conseils sur le test et l'optimisation des requêtes JPA. L'auteur insiste sur l'importance de créer des APIs performantes et sécurisées, d'adopter les microservices et les pratiques CI/CD, tout en intégrant des systèmes de monitoring.