1

我将 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);
}
4

1 回答 1

2

您需要专门化一个 WResource,并在 handleRequest() 中查看已发布的数据。

WResource 有两种使用方式:特定于会话的或全局的。特定于会话的资源具有随机 URL,而全局资源具有指定的(恒定的)URL。

根据您的要求,要将资源附加到 localhost/json,必须将资源附加到固定 URL,因此您确实可以通过 WServer API 执行此操作。查看博客示例,了解如何将 BlogRSSFeed 部署为静态资源。您可以以此为起点并修改 handleRequest 以处理发布到资源的 json。

于 2014-03-04T10:42:09.143 回答