当前位置: 首页 > news >正文

唐山网址建站2345网址导航手机版下载

唐山网址建站,2345网址导航手机版下载,17网站一起做网店揭阳,360免费创建个人网站1、业务场景 在SpringBoot项目中#xff0c;针对接收的参数信息#xff0c;根据需求要进行以下校验#xff1a; 校验客户的apikey是否合法#xff1b;校验请求的ip地址是否是白名单#xff1b;校验短信的签名#xff1b;校验短信的模板#xff1b;校验手机号的格式合法…1、业务场景 在SpringBoot项目中针对接收的参数信息根据需求要进行以下校验 校验客户的apikey是否合法校验请求的ip地址是否是白名单校验短信的签名校验短信的模板校验手机号的格式合法性校验客户剩余的金额是否充足。 2、实现分析 对于接口需要校验的参数和信息为了保证校验的方式做到动态可插拔而且有利于后期的扩展参考了Mybatis二级缓存的源码采用策略模式责任链模式的套路。实现的大致流程是向上声明一个接口提供校验方法然后后编写多个校验的实现类在执行校验时会拿到所有的校验接口实现类然后以责任链的形式一个个校验执行。而且配合Nacos提供的配置动态刷新指定校验链执行的内容需要改变时只需要修改Nacos的配置参数。 3、代码编写 下面是整个校验链路的代码骨架不涉及校验条件的具体实现细节。 1. 校验的父接口 /*** 做策略模式的父接口*/ public interface CheckFilter {/*** 校验方法* param obj*/void check(Object obj);} 2. 准备校验的实现类 /*** 校验客户的apikey是否合法*/ Service(value apikey) Slf4j public class ApiKeyCheckFilter implements CheckFilter {Overridepublic void check(Object obj) {log.info(【接口模块-校验apikey】);} }/*** 校验请求的ip地址是否是白名单*/ Service(value ip) Slf4j public class IPCheckFilter implements CheckFilter {Overridepublic void check(Object obj) {log.info(【接口模块-校验ip】);} }/*** 校验短信的签名*/ Service(value sign) Slf4j public class SignCheckFilter implements CheckFilter {Overridepublic void check(Object obj) {log.info(【接口模块-校验签名】);} }/*** 校验短信的模板*/ Service(value template) Slf4j public class TemplateCheckFilter implements CheckFilter {Overridepublic void check(Object obj) {log.info(【接口模块-校验模板】);} }/*** 校验手机号的格式合法性*/ Service(value mobile) Slf4j public class MobileCheckFilter implements CheckFilter {Overridepublic void check(Object obj) {log.info(【接口模块-校验手机号】);} }/*** 校验客户剩余的金额是否充足*/ Service(value fee) Slf4j public class FeeCheckFilter implements CheckFilter {Overridepublic void check(Object obj) {log.info(【接口模块-校验客户余额】);} }3. 准备上下文对象拿到所有的校验接口实现类 /*** 策略模式的上下文对象*/ Component RefreshScope public class CheckFilterContext {// Spring的IOC会将对象全部都放到Map集合中// 基于4.x中Spring提供的反省注解基于Map只拿到需要的类型对象即可Autowiredprivate MapString,CheckFilter checkFiltersMap;// 基于Nacos获取到执行的顺序和需要执行的校验对象Value(${filters:apikey,ip,sign,template})private String filters;/*** 当前check方法用于管理校验链的顺序*/public void check(Object obj){//1. 将获取到filters基于,做切分String[] filterArray filters.split(,);//2. 遍历数组即可for (String filter : filterArray) {CheckFilter checkFilter checkFiltersMap.get(filter);checkFilter.check(obj);}} } 4. Nacos配置校验执行顺序 # 校验策略的执行内容和顺序 apikey,ip,sign,template,mobile,fee filters: apikey,ip,sign,template,mobile,fee 5. 上下文对象的使用 RestController public class CheckController{Autowiredprivate CheckFilterContext checkFilterContext;/*** 测试使用 */PostMappingpublic void check(Object obj){checkFilterContext.check(obj);} }
http://www.hkea.cn/news/14396004/

相关文章:

  • 天猫网站左侧菜单向右滑出的导航菜单网页游戏排行榜前十名评论
  • 手机网站导航插件自助建站原理
  • 房屋租赁网站建设管理wordpress metro手机主题
  • 网站的功能与建设方案网站推广网络推广方
  • 深圳建筑室内设计网站博客网站快速排名
  • 节能网站源码创欧科技 网站建设
  • 网站版块策划网站推广策略100例
  • 淘宝客合伙人网站建设网站开发创新点
  • 网站推广软文乐清市网站建设公司
  • 网站开发项目项目运营靖江市建设行业协会网站
  • 建站收入付费网站怎么制作
  • 电商网站建设与管理 教案山西做二级建筑资料在哪个网站
  • 湛江模板建站哪家好我想做一个网站怎么做的
  • 外贸网站建站电话多少郑州网络营销顾问
  • 新农村建设举报网站网站 文件 上传
  • 郑州网站建设 .cc集团网页建设
  • 网站开发话题网站空间有哪些
  • 网站产品内容在数据库尚层装饰官网
  • 如何传图片做网站建一个团购网站
  • 一台服务器可以做几个网站西安楼市最新情况
  • 建设部门网站wordpress批量移动产品
  • 网站建设任务监控视频做直播网站
  • 公司网站自己可以学习优化吗网站设计说明书摘要
  • 高端旅游的网站建设上海网站设计哪家强
  • 网络建站东北做网站是不是很简单
  • 建行官方网站多少钱ssh wordpress
  • 营销型网站建设服务商企业网站设计软件
  • 帝国系统做网站地图上饶网站建设
  • 晋城 网站建设枸橼酸西地那非片的作用及功效
  • 建设部网站资质公示上海建设银行官网网站首页