C++后端接收前端请求范例
时间: 2023-08-07 10:07:50 浏览: 112
以下是使用 CppCMS 接收前端请求的一个简单示例:
```cpp
#include <cppcms/application.h>
#include <cppcms/applications_pool.h>
#include <cppcms/service.h>
#include <cppcms/http_request.h>
#include <cppcms/http_response.h>
class my_app : public cppcms::application {
public:
my_app(cppcms::service& srv) : cppcms::application(srv) {
}
virtual void main(std::string url) {
if (url == "/hello") {
handle_hello();
}
else {
response().status(404);
response().out() << "Page not found";
}
}
void handle_hello() {
if (request().request_method() == "GET") {
response().out() << "Hello, World!";
}
else {
response().status(405);
response().out() << "Method not allowed";
}
}
};
int main(int argc, char** argv) {
cppcms::service srv(argc, argv);
srv.applications_pool().mount(cppcms::applications_factory<my_app>());
srv.run();
return 0;
}
```
这个示例定义了一个名为 `my_app` 的应用程序,它继承自 `cppcms::application` 类,并覆盖了 `main` 方法。在 `main` 方法中,首先判断请求的 URL 是否为 `/hello`,如果是,则调用 `handle_hello` 方法进行处理。
在 `handle_hello` 方法中,首先判断请求的方法是否为 GET,如果是,则返回一个字符串 "Hello, World!",否则返回状态码 405(Method Not Allowed)。
在 `main` 函数中,创建了一个 `cppcms::service` 对象,并将 `my_app` 添加到应用程序池中。然后调用 `run` 方法启动服务,等待接收请求。
当访问 http://localhost:8080/hello 时,会输出 "Hello, World!"。如果使用 POST 方法访问该 URL,则会返回状态码 405。
阅读全文