使用SpringBoot重构WebApi项目(二)关于重构的重点

由于原项目目前已经平稳线上运行2年时间,考虑现有iOS以及Android两端已经正常运行,初步考虑使用最小的代价进行迁移,最好做到iOS/Android只进行服务地址更改,这样可做到风险以及代价最小最优!

具体迁移重点:

由于iOS以及Android目前均使用http协议进行服务请求,且请求方式均为post,post数据具有以下要求:

  • Content-Type 为:application/x-www-form-urlencoded
  • post数据均为Json字符串,且key值固定为:Content 值为json字符串
  • 每个Api支持对应SC/SV校验
    因此,在使用SpringBoot重构之后,必须同样满足现有需求:
  • post方式不变
  • 接收参数固定为Content
  • 支持SC/SV校验,且校验统一提供,不能够有每个单独的Controller方法重复验证

底层数据驱动

由于当前项目支持底层数据存储有:SqlServer、Redis、Mongodb、AzureStorage
因此新项目需同步支持以上数据存储,且提供出相应的数据访问驱动;

日志、异常

由于之前服务相应Api请求会记录日志,需记录请求Api标识、请求参数、请求时间、返回值、返回时间等信息,因此重构后的项目依然要做到日记记录,且保证每次请求以及处理完成后保证日志为同一条,便于查询!
之前项目会统一记录日常信息,便于开发者查看异常日志,因此新架构项目同样需提供一个全局异常处理类,便于记录异常信息;

计划/周期任务

原项目中包含一个比重相对重要的功能即为:计划任务,且计划任务具有可持久性和分布式,因此新架构必须保证能够具有相对完美的解决方案来处理计划任务以及周期性任务;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,045评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,564评论 19 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 12,417评论 6 13
  • 五年后的我,我不会怕,我会变成自己想要的样子。 我还会和菜菜在一起,然后已经得到了父母的同意,我们已经同居了。 然...
    鱼吃菜阅读 236评论 0 0
  • 文/慌慌 从来不曾理解“目送”二字原来是如此的悲凉和令人难受,现在愈发地能够体会到父母在一次又一次目送我们渐行渐远...
    我是东方呀阅读 713评论 4 4

友情链接更多精彩内容