0.学之前当然要知道oatcpp干了什么,如下图
1.端点
端点是什么,可以简单的理解为请求处理逻辑的完整封装,创建与使用如下
其中第二参数为URL路径,第三个参数为处理方法名,第四个参数是参数绑定,将将 URL 路径中的参数、查询参数、请求体等绑定到 C++ 变量,并指定数据类型。常见类型如下图
例子:当请求 URL 为 /users/123
时,{userId}
会被提取为字符串 "123",
通过 PATH(Int64, userId)
指定将 "123"
转为 int64_t
类型,转换后的值会赋值给 userId
变量,供处理函数使用。
注释写法:其中ENDPOINT_INFO(处理方法名){};
具体如下图:
其中参数要是ENDPOINT的对应方法名。
其中summary为必填的,而且不能用中文进行注释,如果要用中文就要在中文词典里填写。
2.DTO
可以把 DTO 想象成一个标准化的集装箱,用于在不同系统/模块间运输数据。就像集装箱有统一尺寸和接口。
而DTO_FIELD即为集装箱的货物清单,例如DTO_FIELD(Int64, id, "user_id"),第一个参数(Int64)表示这个"货物格"只能装 int64_t
类型的数据,第二个参数(id)C++ 代码中的货物标签:在程序内部通过这个名称访问数据,第三个参数即为序列化之后的标签名。
注释:和ENDPOINT一样,也是用加上_INFO。
例子:
3.具体运行实例
如下图