我将json发送到url localhost / json。我该如何处理这个请求?怎么样呢?是否需要实现我自己的WResource,WServer,WApplication等等? 请解释一下,如何使用Wt。
/* in LoginForm() */
...
client.done().connect(this, &LoginForm::receiveJSONresponse);
...
void LoginForm::sendLogInRequest()
{
Json::Object data;
data["action"] = "login";
data["username"] = usernameTextEdit.text();
data["password"] = passwordTextEdit.text();
Http::Message msg;
msg.addHeader("Content-Type", "application/json");
msg.addHeader("Accept", "application/json");
msg.addBodyText(Json::serialize(data));
client.request(Http::Post, "http://localhost/json", msg);
}
答案 0 :(得分:2)
您需要专门化一个WResource,并在handleRequest()中查看已发布的数据。
WResource有两种使用方式:会话特定或全局。特定于会话的资源具有随机URL,而全局资源具有指定的(常量)URL。
根据您的要求,要将资源附加到localhost / json,资源必须附加到固定的URL,所以实际上您通过WServer API执行此操作。查看博客示例,了解BlogRSSFeed如何作为静态资源部署。您可以将其用作起点并修改handleRequest以处理发布到资源的json。