服务端代码生成
REST服务接口代码助手可以生成C++服务端相关代码,默认不使用自定逻辑情况下可以生成完整的项目工程,可以直接编译运行。
服务端生成的代码依赖于如下库
- libevent
- MySQL Connector ++
- JSON CPP
生成的服务端代码基于网络库
用户MySQL数据库数据存取,同样需要libmysqlclient库
用于json数据解析
自动生成的代码关系如下图
- Item.h/Item.cpp
- ItemMgr.h/ItemMgr.cpp
- ItemHttpMgr.h/ItemHttpMgr.cpp
- ItemLogic.h/ItemLogic.cpp
- FormChecker.h/FormChecker.cpp
- AuchChecker.h/AuchCheck.cpp
这里包含了出现在定义文件中的类定义以及实现,包含类的属性定义,类到Json的转换,通过字符串名称读取设置类的属性值等.
这个文件中定义了对象管理类ItemMgr,对Item.h中定义的每一个类会生成itemDatas列表对象, 这个类会提供给ItemHttpMgr类做数据的存取操作.
这个文件中定义了类ItemHttpMgr,包含了Http接口请求的分发处理,默认的接口逻辑处理函数。生成的接口逻辑处理函数的流程如下:
要用户自己实现的类文件,用于实现定义文件中定义的logic,logic_pre,logic_post等自定义的接口处理逻辑函数,函数触发时间点可以参看上面的流程图.
用户自己实现的文件,用户实现field_checker中定义的接口表单参数值检查函数.比如定义文件中使用了isString, maxLen, minLen, isNumber,则这里要定义 checkIsString, checkMaxLen, checkMinLen, checkIsNumber等函数。
用户自己实现的文件,用于对接口请求做权限验证,针对定义文件中的need_auth, need_role,need_login等定义要有对应的函数实现来检查是否是登陆用户,用户是否具有某个权限,用户是否具有某个身份等.