gpt4 book ai didi

postgresql - 添加查询参数时,Postman 中的 POST 请求不起作用

转载 作者:行者123 更新时间:2023-11-29 14:13:49 25 4
gpt4 key购买 nike

我有一个将用户配置文件发布到数据库中的 Express 路由:

router.post(
"/:account_id",
[
auth,
[
check("name", "Please enter your name")
.not()
.isEmpty(),
check("orgName", "Please enter your organization name")
.not()
.isEmpty()
]
],
async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
try {
const accountId = req.params.account_id;

const { name, orgName } = req.body;

// Check for the existing profile
let query = await db.query(
`SELECT 1 FROM profile WHERE profile.account_id='${accountId}'`
);

if (query.rowCount !== 0) {
return res.status(400).send({
errors: [
{
msg: "You have already created your profile"
}
]
});
}

// Insert the profile
query = await db.query(
`INSERT INTO profile (
account_id, profile_name, company_name) VALUES ('${accountId}', '${name}', '${orgName}') returning profile_id, account_id, profile_name, company_name`
);

const profile = query.rows[0];

return res.json(profile);
} catch (err) {
console.error(err.message);
res.status(500).send("Server error");
}
}
);

此请求无效,并在 Postman 中使用 HTML 代码给出 CANNOT POST 错误。但是,当我从 URL 中删除 :account_id 参数并手动写入即 50 时,请求有效。这里的查询参数有什么问题?

标题:x-auth-token:授权 token 内容类型:application/x-www-form-urlencoded

UPD:我得到的错误: enter image description here

最佳答案

问题是您的后端 Controller 需要路径 中的account_id 参数,而您在查询字符串 中提供它。要使其正常工作,请在 Postman 中将 URL 的末尾更改为 api/profile/:account_id,删除查询字符串。此外,此页面显示了如何在 Postman 上设置 URL 参数:https://learning.getpostman.com/docs/postman/sending_api_requests/requests/

关于postgresql - 添加查询参数时,Postman 中的 POST 请求不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56434529/

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