我是全新的堆栈开发新手并且几乎没有查询,我正在开发一个项目(基本上用于自学习),其中我想使用node / express js创建前端,并且在后端想要使用mysql数据库。我的网站和数据库之间的连接将通过休息服务器完成。这个休息服务器将在卡萨布兰卡实现,并且还有关于如何处理数据库的逻辑。
所以我主要担心的是如何处理卡萨布兰卡休息服务器中的帖子请求?动机是在使用node / express js创建的我的站点上提交表单。将通过表单(即通过节点js rest客户端)接收的值转发给Casablanca Rest服务器,这将进一步更新数据库。
我怎样才能在casablanca处理这样的(post)请求并获取值?我已经尝试了很少的东西来完成这项工作,并且在某种程度上起作用的最新工作如下所述:
要支持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没有被调用。有人可以提供一下我在这里做错了什么的线索吗?
有可能我的整个实现方法都是错误的,但如果有人可以向我提供正确方向的指示,那将会非常有用。
提前致谢:)
答案 0 :(得分:0)
您需要使用状态代码
回复客户端request.reply(status_codes::OK, U("Hello World!"));
只需将hello world换成要从服务器返回的值。