gpt4 book ai didi

node.js - 向 C++ Rest (casablanca) 服务器发出 POST 请求

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

我是全栈开发新手,几乎没有什么疑问,我正在开发一个项目(基本上是为了自学),在该项目中我想使用 Node/express js 创建前端,而后端想使用 mysql 数据库。我的网站和数据库之间的连接将通过休息服务器完成。该休息服务器将在卡萨布兰卡实现,并且还将具有有关如何处理数据库的逻辑。

所以我主要关心的是如何在卡萨布兰卡休息服务器中处理发布请求?动机是在我使用 node/express js 创建的网站上提交表单。将通过表单(即通过 Node js Rest 客户端)收到的值转发到 Casablanca Rest 服务器,该服务器将进一步更新数据库。

我如何在卡萨布兰卡处理此类(发布)请求并获取值?我尝试了一些方法来实现这项工作,下面提到了在某种程度上有效的最新方法:

要支持 HTTP POST 请求,请在代码中添加以下行或使用 POST 方法注册监听器:

listener.support(methods::POST, handle_post);

在handle_post方法中,我尝试通过http_request::extract_json方法提取json,如下所示:

void handle_post(http_request request)
{
try
{
json::value v = request.extract_json().get();
someFunction(v); //to iterate over JSON and update database
}
catch(http_exception const & e)
{
std::wcout << e.what() << std::endl;
}

}

此后,当我发送 POST 请求(形成 chrome 的 Postman 插件)时,我收到 500 内部错误,甚至我的 someFunction 也没有被调用。有人可以提供我到底做错了什么的线索吗?

我的整个实现方法可能是错误的,但如果有人能为我提供一些正确方向的指示,那将非常有帮助。

提前致谢:)

最佳答案

您需要用状态代码回复客户端

request.reply(status_codes::OK, U("Hello World!"));

只需将 hello world 替换为您想要从服务器返回的值即可。

关于node.js - 向 C++ Rest (casablanca) 服务器发出 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46101787/

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