Express сервер возвращает 200 для маршрутов, которые даже не были определены - PullRequest
1 голос
/ 15 апреля 2020

Я столкнулся со странной вещью в течение нескольких дней, и до сих пор мне не удавалось решить эту проблему. Проблема в том, что у меня React. js внешний интерфейс, Node Express. js backend и MongoDB, когда я делаю запросы к /api/users/update-pwd с правильными параметрами, используя axios, он не обновляет пароль , но возвращает 200. Затем я попробовал несколько маршрутов, таких как /api/users/psosp. К моему удивлению, он также вернулся 200. Я не мог найти причину для этого. Любой полезный совет высоко ценится.

Axios.post("/users/update-password",{
       password: n_pwd
}).then(
     res => {
        alert("Password Updated")
     }
).catch(err => {
     console.log(err)
     alert("An error occured")
})

1 Ответ

2 голосов
/ 15 апреля 2020

, пожалуйста, убедитесь, что у вас нет такого кода в вашем бэкэнде.

router.post('/users/:userId',(req,res)=>{
// some operations
res.send();
});

router.post('users/update-password',(req,res)=>{
// some operations
res.send();
});

Что из вышеперечисленного означает, что независимо от того, что вы используете вместо * /users/*/, будет назван первый маршрут по умолчанию

, а также убедитесь, что U не использовал

app.use('*',(req,res)=>{
// some operations
res.send();
})

. Для любого вызова API независимо от пути будет вызван вышеуказанный код.

Надеюсь, это поможет вы. Если это все еще не решило вашу проблему. Пожалуйста, прокомментируйте свой бэкэнд-код.

...