gpt4 book ai didi

node.js - URL 中的空请求参数给我找不到 API 错误

转载 作者:太空宇宙 更新时间:2023-11-04 03:03:25 25 4
gpt4 key购买 nike

我的代码是:

xyz.js

const testFunction = (req, res) => {
req.checkParams('xyz_name', 'Invalid name').notEmpty();
req.sanitize('xyz_name').trim();

const errors = req.validationErrors();
if (errors) {
res.json({
status: '500',
message: errors
});
} else {

res.json({
status: '200',
message: 'list',
data: req.params.xyz_name
});
}
};


module.exports = testFunction;

app.js

app.get('/test/xyz/:xyz_name', test);

当我尝试http://localhost:3000/test/xyz/abc时,它工作正常。但是当我输入 http://localhost:3000/test/xyz 时,它给了我错误

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /test/xyz</pre>
</body>

我的代码中是否缺少任何内容以使其正常工作?

最佳答案

当 Express.js 中有可选参数时,您需要用 ? 来指定它。

/test/xyz/:xyz_name 将匹配 /test/xyz/test,但不匹配 /test/xyz。这基本上是将 xyz_name 设置为必需的参数。如果没有提供任何内容,它将失败。

/test/xyz/:xyz_name? 将匹配 /test/xyz/test/test/xyz。这将 xyz_name 设置为可选参数。如果没有提供任何内容,路线仍然会被命中。

关于node.js - URL 中的空请求参数给我找不到 API 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47900374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com