Cuando hago esta solicitud de publicación en cartero:
http://localhost:5000/api/edit/links?editData={"editData"[{"link":"www.github.com/","name":"link name"},{"name":"link name","link":"linkdata"}]}
Obtuve el siguiente error:
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot POST /api/edit/links</pre>
</body>
</html>
El archivo de índice de mi servidor se ve así:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const cors = require('cors');
require('dotenv').config();
require('./db/connectDB');
//Import routes
const authRoute = require('./routes/auth');
const editRoute = require('./routes/edit');
const publicRoute = require('./routes/public');
//Middleware
app.use(express.json());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
//Route Middlewares
app.use(cors());
app.use('/api/user', authRoute);
app.use('/', publicRoute);
const PORT = 5000;
app.listen(PORT, () => console.log('server is up and running '));
La ruta que estoy tratando de alcanzar está en este archivo
edit.js
const router = require('express').Router();
const verify = require('./verifyToken');
const {editLinksValidation} = require('../validation');
const ObjectId = require('mongoose').Types.ObjectId;
const User = require('../model/User');
const fetchFavicon = require('@meltwater/fetch-favicon').fetchFavicon;
router.post('/api/edit/links/:editData', verify, (req, res) => {
const editData = JSON.parse(req.params.editData);
User.updateOne(
{_id: id},
{
$set:
{
links: editData
}
}
).then(metadata => res.send(metadata))
.catch(err => console.log(err));
});
¿Qué estoy haciendo mal aquí?
Como dice el error, no hay una ruta definida /api/edit/links
para el método POST. Y, de hecho, su código muestra que su ruta es /api/edit/links/:editData
: ese último elemento de ruta no puede estar vacío. No estoy seguro de cuál era su intención con eso, pero tengo el presentimiento de que su intención era obtener el valor de la consulta en su lugar, en cuyo caso querría usar:
router.post('/api/edit/links/', verify, (req, res) => {
const editData = JSON.parse(req.query.editData);
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras