Enrutamiento: el enrutamiento es una de las partes más importantes de su sitio web o aplicación web. El enrutamiento en Express es básico, adaptable y robusto. El enrutamiento es el mecanismo mediante el cual las requests (según lo especificado por una URL y un método HTTP) se enrutan (dirigen) al código que las maneja.
¿Qué es el enrutamiento RESTful?
REST significa Transferencia de estado representacional que proporciona una forma de mapear verbos HTTP (obtener, publicar, colocar, eliminar) y acciones CRUD (crear, leer, actualizar, eliminar) juntas. Es una convención para definir rutas y cuando algo sigue el principio de descanso se le conoce como RESTFUL.
En lugar de depender únicamente de la URL para indicar qué sitio visitar, una ruta RESTful también depende del verbo HTTP y la URL.
Esto significa que cuando su aplicación recibe una solicitud HTTP, introspecciona esa solicitud e identifica el método HTTP y la URL, lo conecta con una acción de controlador correspondiente que tiene ese método y URL, ejecuta el código en esa acción y determina qué respuesta obtiene. enviado de vuelta al cliente.
Internet sería un lugar realmente confuso sin una convención sobre cómo manejar las URL: eliminar una foto de Facebook podría ser www.facebook.com/delete-this-photo, pero en Instagram, podría ser www.instagram.com/remove -esta publicación. Sin una convención específica a seguir, sería difícil crear contenido nuevo, editar contenido y eliminarlo. Las rutas RESTful proporcionan un patrón de diseño que permite una fácil manipulación de datos.
Para que una ruta sea completamente Relajante debe hacer lo siguiente:
- Separe el cliente del servidor.
- No mantener estado entre requests (es decir, toda la información necesaria para responder a una solicitud está disponible en cada solicitud: ningún dato o estado es retenido por el servidor de solicitud a solicitud).
- Utilice métodos HTTP y HTTP.
- Sea confiable (por ejemplo, la mayoría de las API siguen el patrón de ruta tranquila al especificar el proceso de autenticación y las URL importantes).
Hay 7 patrones de rutas tranquilas diferentes a seguir al crear una aplicación o servicio web que interactuará con el servidor.
Ejemplo: para un sitio web de blog, estas rutas se definirían como:
Asegúrese de tener Node , npm y mongoDB instalados.
Instalando los paquetes y creando el esquema:
npm install express npm install method-override npm install mongoose
Nombre de archivo: app.js
var express = require('express'); var app = express(); var methodOverride = require("method-override"); // APP config mongoose.connect("mongodb://localhost/restful_blog_app"); app.set("view engine", "ejs"); app.use(express.static("public")); app.use(methodOverride("_method")); // Creating the schema var blogSchema = new mongoose.Schema({ title: String, image: String, body: String, created: {type: Date, default: Date.now} }); var Blog = mongoose.model("Blog", blogSchema); app.listen(process.env.PORT, process.env.IP, function() { console.log("SERVER IS RUNNING!"); })
Nombre: ÍNDICE
app.get("/blogs", function(req, res) { Blog.find({}, function(err, blogs) { if (err) { console.log("ERROR!"); } else { res.render("index", {blogs: blogs}); } }); });
Nombre: NUEVO
app.get("/blogs/new", function(req, res) { res.render("new"); });
Nombre: CREAR
app.post("/blogs", function(req, res) { // create blog Blog.create(req.body.blog, function(err, newBlog) { if (err) { res.render("new"); } else { //then, redirect to the index res.redirect("/blogs"); } }); });
Nombre: MOSTRAR
app.get("/blogs/:id", function(req, res) { Blog.findById(req.params.id, function(err, foundBlog) { if (err) { res.redirect("/blogs"); } else { res.render("show", {blog: foundBlog}); } }) });
Nombre: EDITAR
app.get("/blogs/:id/edit", function(req, res) { Blog.findById(req.params.id, function(err, foundBlog) { if (err) { res.redirect("/blogs"); } else { res.render("edit", {blog: foundBlog}); } }); })
Nombre: ACTUALIZAR
app.put("/blogs/:id", function(req, res) { req.body.blog.body = req.sanitize(req.body.blog.body) Blog.findByIdAndUpdate(req.params.id, req.body.blog, function(err, updatedBlog) { if (err) { res.redirect("/blogs"); } else { res.redirect("/blogs/" + req.params.id); } }); });
Nombre: DESTRUIR
app.delete("/blogs/:id", function(req, res) { //destroy blog Blog.findByIdAndRemove(req.params.id, function(err) { if (err) { res.redirect("/blogs"); } else { res.redirect("/blogs"); } }) //redirect somewhere });
La estructura del proyecto se verá así:
Finalmente, después de crear las rutas y agregar el estilo según sus preferencias, ejecute esto en su línea de comando:
node app.js
Esta fue una descripción realmente simple de qué es el enrutamiento RESTful y cuál es su uso práctico en los sitios web.
Publicación traducida automáticamente
Artículo escrito por siddhantdugar241 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA