El Protocolo de transferencia de hipertexto (HTTP) define una variedad de métodos de solicitud para describir qué acción se debe realizar en un determinado recurso. Los métodos de solicitud HTTP más utilizados son GET, POST, PUT, PATCH y DELETE .
Entendamos los casos de uso de las requests HTTP:
- GET: una solicitud GET lee o recupera datos de un servidor web. Si los datos se recopilan correctamente desde el servidor, el código de estado HTTP es 200 (OK) .
- POST: Se utiliza una solicitud POST para transmitir datos al servidor. Produce un código de estado HTTP de 201 en la creación exitosa.
- PUT: una solicitud PUT se utiliza para modificar los datos del servidor. Reemplaza todo el contenido en una posición específica con datos de la carga útil del cuerpo. Generará uno si no hay recursos que coincidan con la solicitud.
- PATCH: una solicitud PATCH es idéntica a una solicitud PUT, con la excepción de que altera una parte de los datos.
- ELIMINAR: una solicitud de ELIMINAR se utiliza para eliminar datos de un lugar específico en el servidor.
Repasemos cada uno de estos métodos de solicitud en detalle ahora. Hemos puesto una aplicación simple usando un servidor NodeJS y una base de datos MongoDB . El servidor NodeJS procesará todas las requests y responderá adecuadamente.
Configuración del proyecto:
Paso 1: Cree una carpeta llamada API y ejecute el siguiente comando para iniciar una aplicación NodeJS.
npm init -y
Paso 2: instale los paquetes npm necesarios con el siguiente comando.
npm install express body-parser mongoose nodemon
Paso 3: crea un archivo llamado index.js en el directorio de tu proyecto.
Estructura del proyecto: Así es como debería aparecer ahora nuestro directorio de proyectos.
Paso 4: Solicite y configure la aplicación Express para que comience a escuchar las requests. Nuestro servidor está configurado en el puerto 3000 .
Javascript
const express = require("express"); const bodyParser = require("body-parser"); const app = express(); app.use(express.json()); app.use( bodyParser.urlencoded({ extended: true }) ); app.listen(3000, () => { console.log("Server started on port 3000"); });
Paso 5: incluya el siguiente script en el archivo package.json. Esto implica que podemos usar npm start para iniciar nuestro servidor, y usará el paquete Nodemon que instalamos previamente.
package.json
"scripts": { "start": "nodemon index.js" },
Paso 6: escriba npm start en la terminal para iniciar el servidor.
Paso 7: solicite el paquete mongoose y conéctese a la base de datos MongoDB. Si está trabajando en un proyecto localmente, es probable que la URL del servidor MongoDB sea mongodb://localhost:27017/nombre de la base de datos. 27017 es el puerto predeterminado.
Javascript
const mongoose = require("mongoose"); mongoose .connect("mongodb://localhost:27017/wikiDB", { useNewUrlParser: true, }) .then(() => { console.log("Database connected"); }) .catch((err) => { console.log("Connection failed"); })
Paso 8: reinicie el servidor para verificar si la base de datos está conectada correctamente o no.
¿Cómo hacer una solicitud POST?
Paso 1: Crear un Modelo para delinear la estructura de nuestra base de datos. Aquí tenemos un esquema que describe la estructura de nuestra base de datos. Tiene una propiedad de título y contenido . Ambos campos incluyen tipos y son necesarios.
Javascript
const articleSchema = { title: { type: String, required: true, }, content: { type: String, required: true, }, }; const Article = mongoose.model( "Article", articleSchema);
Paso 2: Cree un punto final para la solicitud de publicación y agregue el cuerpo de datos a la publicación utilizando el modelo que acabamos de crear. El título y el contenido aceptan el título y el contenido del cuerpo de la solicitud . Esta información se obtiene a través de una aplicación de cliente como Postman o Insomnia .
Realización y tramitación de la solicitud de correos:
Javascript
app.post("/articles", (req, res) => { const newArticle = new Article({ title: req.body.title, content: req.body.content, }); newArticle.save((err) => { if (!err) { res.send("Successfully added a new article."); } else { res.send(err); } }); });
Paso 3: Abra el cartero, agregue los datos en el cuerpo y haga clic en enviar.
Paso 4: Verifique la base de datos y verá el registro que acaba de crear.
Hacer y manejar la solicitud de obtención:
Paso 1: para obtener los datos de la base de datos, debemos usar el método Model.find() de Mongoose.
Javascript
app.get("/getAllarticles", async (req, res) => { try { const article = await Article.find({}); if (article.length != 0) { res.send(article); } else { res.send("No article found"); } } catch (error) { console.log(error); } });
Paso 2: envía la solicitud GET al servidor con la ayuda de Postman.
Realización y gestión de requests de parches:
Paso 1: Usaremos el método findOneAndUpdate() de mongoose para encontrar un documento por su título y actualizarlo.
Javascript
app.patch("/articles/:articleTitle", (req, res) => { Article.findOneAndUpdate( { title: req.params.articleTitle }, { $set: req.body }, function (err) { if (!err) { res.send("Successfully updated article."); } else { res.send(err); } } ); });
Paso 2: Probémoslo ahora. Mencione el título del artículo que desea actualizar y agregue el contenido actualizado en el cuerpo. Finalmente, haga clic en Enviar.
Paso 3: para verificar si el artículo en particular está actualizado o no, envíe una solicitud GET al servidor y verá que el contenido de un artículo en particular ha cambiado.
Realización y gestión de requests de eliminación:
Paso 1: para eliminar un artículo en particular, eliminaremos el método One() de mongoose. El método deleteOne() primero encontrará un artículo por su título y luego lo eliminará como lo hicimos en el caso de una solicitud PATCH.
Javascript
app.delete("/articles/:articleTitle", (req, res) => { Article.deleteOne({ title: req.params.articleTitle }, function (err) { if (!err) { res.send("Successfully deleted the corresponding article."); } else { res.send(err); } }); });
Paso 2: menciona el título del artículo que deseas eliminar y envía la solicitud al servidor.
Paso 3: para verificar si el artículo en particular se eliminó o no, envíe una solicitud GET al servidor y verá que el artículo en particular se elimina de la base de datos.
Publicación traducida automáticamente
Artículo escrito por vishalkumar98765432 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA