【发布时间】:2020-08-04 13:54:08
【问题描述】:
所以我正在使用 Nodejs 并有一条快速路线,如下所示:
app.get('/approvedmr/:id', async (req, res) => {
try {
const projectid = parseInt(req.params.id, 10);
const apMR = await new MergeRequestApproval().getResponse(projectid, 'Any');
res.send(await new MergeRequestApproval().getHeader(apMR, 'Any'));
} catch {
res.sendStatus(404);
}
});
这是getResponse函数:
async getResponse(id: number, approval: string) {
const axiosInstance = axios.create();
return await axiosInstance.get(`gitlaburl/api/v4/projects/${id}/merge_requests?approved_by_ids=${approval}&per_page=1`, defaultheader);
}
我在getResponse 中省略了一些部分,因为它们只检查approval-String 是否包含某个字符串。
现在。在本地一切正常,一旦我将它的 dockerized 版本部署到测试服务器,这些 id 将适用于 [1;99],如果 id 大于 100 或 330,它将返回如下错误:
这是error.stack:
"Error: Request failed with status code 404\n
at createError (/node_modules/axios/lib/core/createError.js:16:15)\n
at settle (/node_modules/axios/lib/core/settle.js:17:12)\n
at IncomingMessage.handleStreamEnd (/node_modules/axios/lib/adapters/http.js:236:11)\n
at IncomingMessage.emit (events.js:205:15)\n
at endReadableNT (_stream_readable.js:1154:12)\n
at processTicksAndRejections (internal/process/task_queues.js:84:9)"
我最初使用 axios.get 而不是 axios.create().get,但后来读到这可能会导致问题,但事实并非如此。
任何想法将不胜感激!
谢谢!
【问题讨论】:
标签: node.js typescript axios