本文是 《Qt 框架性开发实践——基础框架篇》的第三篇。
本文所讲的内容已经开源,你可以在 这里 找到源代码。
在 Java 以及其他语言中,处理与后端的 HTTP 通讯,有专门的工具库,使用起来特别方便。比如使用 Java 中的 Retrifit/OkHttp,只需要声明一下服务 API 接口,就可以基于它与后端通信了。而且 OkHttp 提供了拦截器模式,可以支持自定义策略模式。这些功能能不能在 Qt/C++ 里面实现呢?
在 Qt 中,QNetworkAccessManager 提供了基础的 HTTP 访问能力。我们将基于它,封装一套好用的 REST-Ful 网络框架。这个框架主要有 4 个部分:
- 网络请求与应答
主要涉及到请求 URI(Query)、Headers、Body,应答 Body 的处理。
- 网络拦截器
网络请求、应答链式处理结构,采用异步模式
- 数据序列化
用 Json 格式序列化请求、应答的数据
- 服务自动实现
利用 C++ 泛型模版,实现请求 URI(Query)、Headers、Body 自动拼装。对外提供方法对象,可被支持调用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)