啥,听说你用了springboot,但是开发的接口还在裸奔?

Popular MVC框架

传送门

Gitee源码地址:https://gitee.com/danyuanblog/PopularMVC

演示地址:http://www.danyuanblog.com:8181/doc.html

官方文档地址:http://www.danyuanblog.com/blog/app/blog/blogDetail.html?id=5fe86eb74c636312f4b70955

1、应用场景

简介

啥,听说你用了springboot,但是开发的接口还在裸奔?快来试试这个PopularMVC吧,它也许是你想要找的神器!


1.1 项目架构说明

1.1.1 PopularMVC跟Springboot的关系

  1. 说明


  1. 示意图



1.1.2 PopularMVC项目组件架构解析


  1. API调用拦截器
    基于AOP切面设计的一套API请求、响应拦截处理流程。提供了在调用接口前后做一些通用的预处理,比如说参数校验、参数装饰、访问控制、日志输出、会话控制等等。目前内置的拦截器有:

也支持业务灵活定制通用的API调用拦截器。

    1. 参数装饰器
      参数装饰器机制通过遍历参数内容,逐个字段进行修饰,具体修饰规则由特定的装饰器制定。常见的使用场景有,对请求参数解密、响应参数加密、响应参数国际化、响应参数脱敏等等
      注意:参数装饰器只能对参数内容做修饰,而无法改变参数类型。
      目前内置的参数装饰器有:

也支持业务灵活拓展参数装饰器。

    1. API响应序列化预处理器
      响应预处理器机制可以在接口返回内容给调用者之前进行额外的处理,此时可以更灵活的修饰返回内容,可以突破无法修改参数类型的限制,适用于对整个响应结构定制化处理的场景。
      目前内置的响应预处理器有:

当然,也支持业务灵活拓展。

    1. 方法查询缓存拦截器
      提供对查询类方法调用的结果进行缓存。
    2. API异常统一处理器
      接口调用过程中任何步骤出现异常,均能自动处理,并反馈信息给调用者。
      支持对特定异常自定义处理,如果未处理,统一交由内置的默认异常处理器进行护理。
    3. 统一国际化翻译管理器
      接口返回内容均支持国际化翻译能力。
      已整合了spring i18n国际化翻译能力,也支持拓展业务自定义国际化翻译器。
    4. 统一错误码管理器
      研发人员无需再关注业务错误码的定义和国际化翻译工作,可以做到定义简单、使用简单、易于理解、配置灵活


    1. 自动接口文档生成器
      已内置swagger+knif4j,只需指定API包路径即可实现接口文档的自动生成。


1.2 其他说明

  1. 服务器API缺乏统一标准的输入输出参数,难以统一规范开发人员的接口格式
  2. 缺乏简单、高效、统一的接口异常处理机制
  3. 绞尽脑汁思考错误码的命名、编号和处理机制
  4. 虽然使用参数校验注解校验API请求参数已经非常方便,但是又对其缺乏校验结果的统一处理而苦恼
  5. 项目服务于多个国家的用户,繁重的国际化工作也许会让你崩溃
  6. API缺乏权限控制、安全认证、数据加密、防重复提交等等,直接裸奔
  7. 还没有找到顺手的服务器缓存工具,对springcache的注解槽点满满等
  8. 时常为了写接口文档而占用太多coding time,而且接口文档还无法实时与接口变更保持同步


现在你有福了,你只需要引入PopularMVC框架,并为你的SpringBoot应用添加@EnablePopularMvc注解,即可解决上述所有的困扰!



  1. 规范API请求参数,支持系统参数名自定义和系统参数的拓展,系统参数的校验等等
  2. 规范API响应参数,支持系统参数名自定义和添加额外的系统参数
  3. API响应信息自动补全系统参数,开发者无需再手动添加响应壳信息
  4. 应用内统一的国际化翻译能力,已经整合spring i18n,而且支持业务灵活拓展国际化能力
  5. 接口响应信息国际化,为需要国际化的字段添加@LanguageTranslate注解即可自动翻译内容后返回给调用者
  6. 统一的异常处理机制,全局拦截API调用异常并处理,处理结果经国际化处理后以标准的API响应格式返回给调用者,业务侧可以对特定异常进行灵活处理
  7. 简单易用的接口错误码,发现不满足API执行条件,直接抛出BusinessException异常即可通过统一异常处理机制得到预期的API响应。支持自定义系统错误码、业务错误码;依据业务错误码KEY值自动生成错误码数值;并可以对服务内的自动生成的业务错误码值进行范围限制,这样有助于不同业务服务间的错误码分段;
  8. API请求参数、响应参数的自动校验,校验结果自动处理后通过API响应反馈给调用者
  9. 简单方便的缓存管理器,使用Guava cache作为默认的本地缓存管理器,支持缓存管理器的灵活拓展,提供@CacheMethodResult@CacheMethodResultEvict注解实现方法接口结果的缓存和失效
  10. 接口安全相关组件,验签、加解密、防重复提交等等,使用时只需要为你的API添加一个注解即可搞定
  11. 接口会话管理机制,提供Guava cache实现的默认本地会话管理器,支持业务灵活定制以支持分布式会话管理
  12. 接口文档化支持,提供了swagger接口文档自动生成,并整合了knife4j提供简单易用的实时api文档
  13. 接口调用日志打印,提供对接口请求参数信息、接口响应信息的简要打印,预留了接口调用日志持久化机制,用于业务方定制流量监控相关功能

装修网欧式家装修7万装修简装230平复式房装修费用多少ktv简单装修报价装修预算镜子怎么装饰济南精装修客厅装修墙面公装装饰合同简装的费用mc小装饰65平两室一厅装修奉化装修一般的楼房简装都怎么装呀家装定制服务石材装修房子装修好了用什么去甲醛北京室内拆除报价装饰和装潢二手房简装价格坪山装修公司家人的爱作业布置洛阳100平米简装多少钱客厅简装效果图欣赏三室二厅装修多少钱建艺装饰怎么样房子简易装修重庆装修公装公司大连市装修报价88平米装修大约多少钱香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声汪小菲曝离婚始末卫健委通报少年有偿捐血浆16次猝死单亲妈妈陷入热恋 14岁儿子报警雅江山火三名扑火人员牺牲系谣言手机成瘾是影响睡眠质量重要因素男子被猫抓伤后确诊“猫抓病”中国拥有亿元资产的家庭达13.3万户高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了男孩8年未见母亲被告知被遗忘张家界的山上“长”满了韩国人?倪萍分享减重40斤方法许家印被限制高消费网友洛杉矶偶遇贾玲何赛飞追着代拍打小米汽车超级工厂正式揭幕男子被流浪猫绊倒 投喂者赔24万沉迷短剧的人就像掉进了杀猪盘特朗普无法缴纳4.54亿美元罚金周杰伦一审败诉网易杨倩无缘巴黎奥运专访95后高颜值猪保姆德国打算提及普京时仅用姓名西双版纳热带植物园回应蜉蝣大爆发七年后宇文玥被薅头发捞上岸房客欠租失踪 房东直发愁“重生之我在北大当嫡校长”校方回应护栏损坏小学生课间坠楼当地回应沈阳致3死车祸车主疑毒驾事业单位女子向同事水杯投不明物质路边卖淀粉肠阿姨主动出示声明书黑马情侣提车了奥巴马现身唐宁街 黑色着装引猜测老人退休金被冒领16年 金额超20万张立群任西安交通大学校长王树国卸任西安交大校长 师生送别西藏招商引资投资者子女可当地高考胖东来员工每周单休无小长假兔狲“狲大娘”因病死亡外国人感慨凌晨的中国很安全恒大被罚41.75亿到底怎么缴考生莫言也上北大硕士复试名单了专家建议不必谈骨泥色变“开封王婆”爆火:促成四五十对测试车高速逃费 小米:已补缴天水麻辣烫把捣辣椒大爷累坏了

装修网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化