[发明专利]基于C++实现RESTFUL服务的方法及系统有效
申请号: | 202010767705.1 | 申请日: | 2020-08-03 |
公开(公告)号: | CN111857675B | 公开(公告)日: | 2023-07-11 |
发明(设计)人: | 蒋敏钟 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/30;G06F8/41;G06F9/54 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 冯瑛琪 |
地址: | 100089 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 c++ 实现 restful 服务 方法 系统 | ||
1.一种基于C++实现RESTFUL服务的方法,其特征在于,包括:
将目标业务能力的C++代码封装成函数,并编译成动态库;
将所述目标业务能力配置到RESTFUL服务端框架的配置文件中;所述配置文件中配置有URI地址、能力编码、处理方式、调用方法、动态库名、类名和函数名中的至少一种;
启动所述RESTFUL服务端框架,通过读取所述配置文件中所述目标业务能力的配置信息实现所述目标业务能力的调用;
启动所述RESTFUL服务端框架,通过读取所述配置文件中所述目标业务能力的配置信息实现所述目标业务能力的调用,具体包括:
接收HTTP请求并解析,根据解析出的请求URI和请求方法查找对应的回调函数;
通过所述回调函数解析所述HTTP请求消息体中的能力编码,与所述配置文件中的能力编码进行匹配,查找对应的目标业务能力;
根据所述目标业务能力的调用方法判断调用动态库或代码集成;
执行所述调用方法,当调用动态库时,根据所述配置文件中的URI地址、动态库名和函数名调用动态库对应的函数;
当代码集成时,根据所述配置文件中的URI地址、类名和函数名调用服务端代码中对应的能力类对象对应的能力函数。
2.根据权利要求1所述的基于C++实现RESTFUL服务的方法,其特征在于,所述处理方式包括第一处理方式和第二处理方式,所述第一处理方式为JSON,所述第二处理方式为XML,所述处理方式用于设置所述HTTP请求消息头中的属性值。
3.根据权利要求1或2中所述的基于C++实现RESTFUL服务的方法,其特征在于,接收HTTP请求并解析之后,还包括:
判断所述RESTFUL服务端框架是否支持所述请求URI和所述请求方法,如果不支持,则返回错误提示信息。
4.一种基于C++实现RESTFUL服务的系统,其特征在于,包括:
封装单元,用于将目标业务能力的C++代码封装成函数,并编译成动态库;
配置单元,用于将所述目标业务能力配置到RESTFUL服务端框架的配置文件中;所述配置文件中配置有URI地址、能力编码、处理方式、调用方法、动态库名、类名和函数名中的至少一种;
执行单元,用于启动所述RESTFUL服务端框架,通过读取所述配置文件中所述目标业务能力的配置信息实现所述目标业务能力的调用;
所述执行单元具体用于接收HTTP请求并解析,根据解析出的请求URI和请求方法查找对应的回调函数;通过所述回调函数解析所述HTTP请求消息体中的能力编码,与所述配置文件中的能力编码进行匹配,查找对应的目标业务能力;根据所述目标业务能力的调用方法判断调用动态库或代码集成;执行所述调用方法,当调用动态库时,根据所述配置文件中的URI地址、动态库名和函数名调用动态库对应的函数;当代码集成时,根据所述配置文件中的URI地址、类名和函数名调用服务端代码中对应的能力类对象对应的能力函数。
5.根据权利要求4所述的基于C++实现RESTFUL服务的系统,其特征在于,所述处理方式包括第一处理方式和第二处理方式,所述第一处理方式为JSON,所述第二处理方式为XML,所述处理方式用于设置所述HTTP请求消息头中的属性值。
6.根据权利要求4或5中所述的基于C++实现RESTFUL服务的系统,其特征在于,还包括:判断单元,用于判断所述RESTFUL服务端框架是否支持所述请求URI和所述请求方法,如果不支持,则返回错误提示信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010767705.1/1.html,转载请声明来源钻瓜专利网。