对C ++ Rest(casablanca)服务器

时间:2017-09-07 17:05:24

标签: node.js rest casablanca

我是全新的堆栈开发新手并且几乎没有查询,我正在开发一个项目(基本上用于自学习),其中我想使用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没有被调用。有人可以提供一下我在这里做错了什么的线索吗?

有可能我的整个实现方法都是错误的,但如果有人可以向我提供正确方向的指示,那将会非常有用。

提前致谢:)

1 个答案:

答案 0 :(得分:0)

您需要使用状态代码

回复客户端
request.reply(status_codes::OK, U("Hello World!"));

只需将hello world换成要从服务器返回的值。