RMVL  2.4.0-dev
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到
rm::async::Webapp类 参考final

Web 应用程序框架 更多...

#include <rmvl/io/netapp.hpp>

rm::async::Webapp 的协作图:

Public 成员函数

 Webapp (IOContext &io_context)
 创建 Web 应用程序实例
void use (std::string_view url, const Router &router)
 使用路由
void use (ResponseMiddleware mwf)
 使用中间件
void listen (uint16_t port, std::function< void()> callback=nullptr)
 监听指定端口
void get (std::string_view uri, RouteHandler callback)
 Get 请求路由
void post (std::string_view uri, RouteHandler callback)
 Post 请求路由
void head (std::string_view uri, RouteHandler callback)
 Head 请求路由
void del (std::string_view uri, RouteHandler callback)
 Delete 请求路由
Task spin ()
 启动 Socket 监听任务循环
bool running () const noexcept
 是否正在运行
void stop () noexcept
 停止运行

详细描述

Web 应用程序框架

  1. 轻量级的异步 Web 应用程序框架,支持路由、中间件,支持路径参数和查询参数
  2. 所有设计均参考 Express.js,具体的 Express.js 教程请参考 https://expressjs.com/
  3. 目前支持的方法与 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]callbackDelete 响应回调

◆ get()

void rm::async::Webapp::get ( std::string_view uri,
RouteHandler callback )
inline

Get 请求路由

参数
[in]uri统一资源标识符,支持路径参数,如 "/api/:name"
[in]callbackGet 响应回调

◆ head()

void rm::async::Webapp::head ( std::string_view uri,
RouteHandler callback )
inline

Head 请求路由

参数
[in]uri统一资源标识符,支持路径参数,如 "/api/:name"
[in]callbackHead 响应回调

◆ 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]callbackPost 响应回调

◆ running()

bool rm::async::Webapp::running ( ) const
inlinenodiscardnoexcept

是否正在运行

◆ spin()

Task rm::async::Webapp::spin ( )
nodiscard

启动 Socket 监听任务循环

返回
rm::async::Task<> 异步任务

◆ stop()

void rm::async::Webapp::stop ( )
inlinenoexcept

停止运行

◆ use() [1/2]

void rm::async::Webapp::use ( ResponseMiddleware mwf)

使用中间件

参数
[in]mwf中间件函数
函数调用图:

◆ 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"
函数调用图:

该类的文档由以下文件生成: