zoukankan      html  css  js  c++  java
  • 后端程序员之路 23、一个c++的api framework

    在"21、一个cgi的c++封装"中,我们封装了cgi,在这之上,我们可以再来封装一个webapi的framework。当然,前文的Casablanca是个不错的选择,但是它比较庞大,而且缺少一些业务上需要的功能。

    Web API应用架构设计分析(1) - 伍华聪 - 博客园
    http://www.cnblogs.com/wuhuacong/p/4614875.html

    面向对象的WebAPI框架XXL-HEX - 许雪里 - 博客园
    http://www.cnblogs.com/xuxueli/p/5003305.htm

    webapi的设计关键点总结:
    1、controller、requst、response、handler等常规的面向对象原则
    2、数据的进出要能方便的进行序列化和加解密处理
    3、handler在处理时,支持分层和分处理器,做到支持aop和处理器重用
    4、支持处理链的配置化,来实现分流和ABTest

    具体系统的api处理流程:
    1、初始化framework,注册chain_handler、register_request_rewriter、register_url_mapping
    2、客户端发起请求,根据url_mapping找到对应chain_handler
    3、根据chain_handler对应的request_rewriter,对请求进行一定的预处理,包括根据配置文件使用不同的chain来实现分流和ABTest
    4、根据预处理得到的chain name,从chain_factory取到对应的chain,chain包含一系列processor和renderer
    5、按顺序执行processor,processor里可以动态的call_next_processor,来实现wrapper功能
    6、处理完成后,调用不同renderer来实现序列化成json等功能,返回给客户端

  • 相关阅读:
    Photoshop快捷键大全
    [转载]Ajax 教程:Ajax 入门简介
    Windows 7环境下安装Apache Http Server 2.2.19
    Words For Today [20110710]
    Words For Today [20110708]
    Words For Today [20110709]
    Eclipse的Spring库导入
    克隆虚拟机+Linux互相登录+秘钥认证(四)
    java+appium 自动化环境搭建
    VMware虚拟机安装Linux后忘记root密码怎么办(三)
  • 原文地址:https://www.cnblogs.com/zapline/p/6627545.html
Copyright © 2011-2022 走看看