C++架构直播回放
一、所涉及模块
1、前端在NGINX上。网关转发,并且进行权限鉴定
2、服务实现,放到NIKOS,根据名字取找哪个服务
3、每个业务模块写成一个微服务,容器打包Jenkins部署
4、FastDFS存储数据。
5、微服务通信RocketMQ。日志是java的。C++设计的是绿色的
实现微服务,写一个个web服务器。
二、演示,启动一个微服务。
看内存数据库工具,RDM
原型图Axure,processOn
三、arch-cpp项目架构
1、切换到arch-cpp架构,打开oa-cpp目录。平台调换x64-Debug
2、跑一下demo架构,报错。lib-oatpp 提取到当前位置(效果如图)
realse底下也有
3、报错。修改数据库地址
(1)直接改main代码地址
(2)5.2,Cmake设置启动参数。调试-设置启动项。
针对哪个exe,
4、数据库要存在,且地址,账号密码必须是正确的,
四、创建自己的模块
1、使用oa-cpp下的copy-resources.bat创建自己的模块
2、找到新增CMakeList.txt项目配置文件,将项目中关于demo项目的配置去掉,以及修改项目名
3、添加到解决方案,修改项目根目录下的CMakelists.txt配置文件
4、修改自述文件配置
5、如有中文,需要修改编码,在高级保存选项,选择
6、选择新的启动项进行启动
五、看Oat++官方文档
1、定义一个端点响应
2、这个集成好的,怎么安装的,不用看
3、前两个示例重点研究
这个也要读读。start里面东西都读读
4、Overview里面的 Controller、DTO必读,upload读一下
5、Modules的swagger相关读一下
6、API引用,数据类型读一下
7、必读模块
8、跨域已被全局处理,暂时不需要关注。
9、认证授权,也被去全局处理,按照做法来就行
10、step BY step
五、开始写自己的接口
1、controller.h层
(1)初始化头文件。。ihtc
(2)控制访问器,puiblic方法,构造函数,设置默认连接器
提供createShared,创建单例
(3)定义接口-端点定义。在Oat++里面的Use API Controller
1.ENDPOINT(请求方式,域名,函数名(小驼峰命名),给一些参数)
2.解析参数
3.响应结果
4.定义执行函数,在private里。函数体写在cpp里
2、controller.cpp层
创建对象,执行对象success方法,返回res的值
3、controller文件函数的一个过程
1\后端收到前端的时候(ENDPOINT(API_M_GGET)),解析参数,
2\呼叫私有方法完成数据处理(executeQueryTest),
3\响应结果(API_HANDLER_RESP_VO),二次封装过
4、如果报错,查看头文件你是否导入
这些标红
5、调用,绑定controller。在controller/Router.cpp里面,同时记得导头文件
6、浏览器传入参数
7、定义端点描述。在start的High Level Overview里面
错误:响应类型错误,和数据类型未添加
正确
简化宏:
8、中文词典,zh-dict.yaml里写,然后直接使用、、
---编译产生的是在out输出目录,需要重新配置缓存
总结:接口总览
接口处理当中
补充:
1、body_dto请求方式,长这个样子
2、路径参数方式
(一般用于删除)宏定义:
3、GET 都是通过查询参数去写的。查询后面就是QUERIES
PUT、POST用的是请求体
三合一宏定义
六、分层领域模型
1、前端传入
传入Query、dto、无参数
2、校验,并传入service
2、dto转化Do 传入Dao层
46:19
七、关键代码 ,
oatpp内置类型
23:40 数据库组件
10:40 airpost