Web 应用程序框架
更多...
#include <rmvl/io/netapp.hpp>
Web 应用程序框架
- 轻量级的异步 Web 应用程序框架,支持路由、中间件,支持路径参数和查询参数
- 所有设计均参考 Express.js,具体的 Express.js 教程请参考 https://expressjs.com/
- 目前支持的方法与 rm::Router 一致
◆ Webapp()
| rm::async::Webapp::Webapp |
( |
IOContext & | io_context | ) |
|
|
inline |
创建 Web 应用程序实例
- 参数
-
| [in] | io_context | 异步 I/O 执行上下文 |
◆ del()
| void rm::async::Webapp::del |
( |
std::string_view | uri, |
|
|
RouteHandler | callback ) |
|
inline |
Delete 请求路由
- 参数
-
| [in] | uri | 统一资源标识符,支持路径参数,如 "/api/:name" |
| [in] | callback | Delete 响应回调 |
◆ get()
| void rm::async::Webapp::get |
( |
std::string_view | uri, |
|
|
RouteHandler | callback ) |
|
inline |
Get 请求路由
- 参数
-
| [in] | uri | 统一资源标识符,支持路径参数,如 "/api/:name" |
| [in] | callback | Get 响应回调 |
◆ head()
| void rm::async::Webapp::head |
( |
std::string_view | uri, |
|
|
RouteHandler | callback ) |
|
inline |
Head 请求路由
- 参数
-
| [in] | uri | 统一资源标识符,支持路径参数,如 "/api/:name" |
| [in] | callback | Head 响应回调 |
◆ listen()
| void rm::async::Webapp::listen |
( |
uint16_t | port, |
|
|
std::function< void()> | callback = nullptr ) |
|
inline |
监听指定端口
- 参数
-
| [in] | port | 监听的端口号 |
| [in] | callback | 启动后调用的回调函数 |
◆ post()
| void rm::async::Webapp::post |
( |
std::string_view | uri, |
|
|
RouteHandler | callback ) |
|
inline |
Post 请求路由
- 参数
-
| [in] | uri | 统一资源标识符,支持路径参数,如 "/api/:name" |
| [in] | callback | Post 响应回调 |
◆ running()
| bool rm::async::Webapp::running |
( |
| ) |
const |
|
inlinenodiscardnoexcept |
◆ spin()
| Task rm::async::Webapp::spin |
( |
| ) |
|
|
nodiscard |
◆ stop()
| void rm::async::Webapp::stop |
( |
| ) |
|
|
inlinenoexcept |
◆ use() [1/2]
◆ use() [2/2]
| void rm::async::Webapp::use |
( |
std::string_view | url, |
|
|
const Router & | router ) |
使用路由
- 参数
-
| [in] | url | 路由前缀,如 "/api" |
| [in] | router | 路由器,支持路径参数,如 "/user/:id/info" 在实际请求的 URL 中为 "<url>/user/123/info" |
该类的文档由以下文件生成: