🛟→lien
🛩️→ lien
💡 Les navigateurs ne supportent que GET et POST en natif dans les formulaires. Découvrez comment gérer DELETE et PUT.
Méthode CRUD | Support natif HTML | Solution avec Express |
Create (POST) | ✅ Oui | <form method="POST"> |
Read (GET) | ✅ Oui | <form method="GET"> |
Update (PUT) | ❌ Non | method-override + POST |
Delete (DELETE) | ❌ Non | method-override + POST |
/posts/:id/update and /posts/:id/delete). Those endpoints accept normal POST form submissions and return normal redirects or rendered pages.method-override is a middleware used to turn a POST into a PUT/DELETE on the server (usually by reading a hidden _method field or a query parameter).public/index.html and public/js/app.js) uses fetch() to perform CRUD operations.Critère | API Express | Application Express (Web App) |
Type de réponse | res.json() — renvoie des données au format JSON | res.render() — génère une page HTML via un moteur de template |
Client cible | Application cliente (navigateur JS, mobile, autre serveur) | Utilisateur humain via navigateur |
Format de données | JSON, parfois XML ou texte brut | HTML enrichi, souvent avec CSS et JS |
Usage typique | Backend pour SPA, mobile, microservices, intégration tierce | Site web classique, CMS, e-commerce, blog |
Middleware courant | express.json(), cors, helmet | express.urlencoded(), cookie-parser, express-session |
Vue / Template Engine | Aucun ou minimal (res.send() parfois) | Pug, EJS, Handlebars, etc. |
Structure des routes | RESTful (GET /api/users, POST /api/login, etc.) | Pages (GET /home, GET /contact, etc.) |
Navigation | Gérée côté client (React, Vue, etc.) | Gérée côté serveur via Express |
Séparation des rôles | Souvent découplée du frontend (architecture en couches ou microservices) | Frontend et backend souvent intégrés dans le même projet |
🛩️List Courses API
This project is a Node.js RESTful API for managing a list of courses. It uses Express and organizes code into controllers, models, and routes. The API supports basic CRUD operations for courses and includes server-side views for course management.
🚀HOW-TO : https://dupontexpressjs.blogspot.com/p/api-rest.html
⚙️ This application uses an in-memory array for data storage. Data will be lost when the server restarts. For production use, consider integrating a database like MongoDB, PostgreSQL, or MySQL.
🚀 https://mypizzasapi.onrender.com/
{
"message": "Welcome to Pizza API! 🍕",
"description": "A simple REST API for pizzas - inspired by ghibliapi.dev",
"endpoints": {
"pizzas": "/API/pizzas",
"pizzaById": "/API/pizzas/:id",
"pizzasWithPrices": "/API/pizzasWithPrices",
"ingredientPrices": "/API/ingredientPrices",
🪛"pizzaSearchByIngredient": "/API/pizzas/search?ingredient=🧀",
"pizzaSinglePrice": "/API/pizzasWithPrices/:id/price",
"customPrice": {
"method": "POST",
"path": "/API/pizzasWithPrices/compute",
"body": {
"ingredients": [
"🍅",
"🧀"
]
}
}
}
}Exemples :
🪛Ainsi pour tester l'API avec ingredient=🧀
https://mypizzasapi.onrender.com/API/pizzas/search?ingredient=🧀
🪛Ainsi pour tester l'API avec ingredient=🍅 et ingredient=🍄
https://mypizzasapi.onrender.com/API/pizzas/search?ingredient=🍄&ingredient=🍅
🥷Pour tester : https://dupontdenis.github.io/testMyPizzasAPI/