Heroku 双'/'问题 - 节点 js 后端,404 错误



我已经在heroku上部署了后端,并且在/上有一个测试获取请求的响应

app.get('/', (req, res) => {
res.send("Hello, World. The app is running!");
});

在达到/终点时https://ayush-portfolio-backend.herokuapp.com/,我得到了预期的GET输出。

但是,当从前端react应用程序时,我击中了任何POST端点,例如:-

// index.js
app.use('api/portfolios/', (require('./routes/portfolio')));
// portfolio route
router.post('/getportfolios', async (req, res) => {...});

我无法在前端得到任何回应。

根据heroku文档的建议,当我执行heroku logs
时,我会收到以下错误:-

2022-09-21T07:57:41.743176+00:00 heroku[router]: at=info method=OPTIONS path="//api/portfolios/getportfolios" host=ayush-portfolio-backend.herokuapp.com request_id=0aff16a8-8aee-499e-a69e-4bdf8d583e6d fwd="103.164.24.154" dyno=web.1 connect=0ms service=5ms status=204 bytes=312 protocol=https2022-09-21T07:57:41.808753+00:00 heroku[router]: at=info method=OPTIONS path="//api/portfolios/getportfolios" host=ayush-portfolio-backend.herokuapp.com request_id=3c1974f2-522c-47b8-92d8-2f201bd0e2ab fwd="103.164.24.154" dyno=web.1 connect=0ms service=1ms status=204 bytes=312 protocol=https2022-09-21T07:57:42.054955+00:00 heroku[router]: at=info method=POST path="//api/portfolios/getportfolios" host=ayush-portfolio-backend.herokuapp.com request_id=6092ee53-d98d-4fa0-9fff-abd46554de56 fwd="103.164.24.154" dyno=web.1 connect=0ms service=10ms status=404 bytes=445 protocol=https  
2022-09-21T07:57:42.172808+00:00 heroku[router]: at=info method=POST path="//api/portfolios/getportfolios" host=ayush-portfolio-backend.herokuapp.com request_id=cbe7b873-b4f5-4eb6-a80f-12fd1018029a fwd="103.164.24.154" dyno=web.1 connect=0ms service=2ms status=404 bytes=445 protocol=https

我不知道是什么原因导致了以下错误。该应用程序在本地环境中运行良好,但不知道为什么会出现问题。

我是heroku的初学者,对它了解不多,我也在谷歌和stackoverflow上搜索了错误,但没有找到任何相关的问题解决方案。

我只是假设错误可能是因为在路径中创建了一些double///,如图中所示的错误,例如path='//api/portfolios/getportfolios'。所以,我也试着从前端和其他地方删除/,试图使其成为sinbgle/,但这并没有解决问题。

有人能指导我找到解决上述问题的方法吗。非常感谢。

////////////////编辑////////////////
投资组合路由文件:github

尝试

// index.js
const portfolioRoutes = require('./routes/portfolio');
app.use('/api/portfolios', portfolioRoutes);
// portfolio route
router.post('/getportfolios', async (req, res) => {...});

相关内容

  • 没有找到相关文章

最新更新