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

网站开发维护招聘网站换服务器要怎么做

网站开发维护招聘,网站换服务器要怎么做,wordpress 计数器插件,建设银行自贡分行网站1、业务场景 在SpringBoot项目中,针对接收的参数信息,根据需求要进行以下校验: 校验客户的apikey是否合法;校验请求的ip地址是否是白名单;校验短信的签名;校验短信的模板;校验手机号的格式合法…

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 Map<String,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.15wanjia.com/news/163573.html

相关文章:

  • 大公司网站色彩设计双语版网站案例
  • 网站概要设计模板软件之家
  • 本地做网站绑定域名公司网站要备案么
  • 让人做网站 需要准备什么店铺logo图片免费生成女士
  • 电影网站这么做关键词心知天气Wordpress
  • 鞋行业的网站建设wordpress 4.8 主题
  • 网站导航设计应注意哪些问题深圳比较出名的外贸公司
  • 电商设计网站有哪些功能模块骑行网站模板
  • 电子商务毕业设计设计网站建设h5模板素材
  • 潍坊做网站哪家好网页个人主页设计
  • 有了域名之后怎么做自己的网站重庆相亲网
  • 网站开发与设计总结地图网站怎么做
  • 网站建设租用服务器专做毕业设计的网站
  • 电商网站怎么做与众不同托管经营
  • 视频变成网站怎么做的网站建设规划书中包含内容
  • 服装网站建设网推广普通话活动
  • 防下载 的视频网站 怎么做如何将自己做的网站上传
  • 浏阳做网站的有哪几家淘宝做网站的
  • 海外购物app排行榜前十名seo分析报告怎么写
  • 多与pR值高的网站做链接云服务器怎么建立网站
  • 怎样使用网站模板wordpress仪表盘美化
  • 郑州网站建设知名公司排名广州cms建站系统
  • 一个完整的网站设计需要的技术wordpress 订单管理
  • 网站制作与网站建设宁波市铁路建设指挥部网站
  • 赣州销售网站安庆建设银行网站
  • 建网站需要注意的问题关键词怎么优化
  • 网站静态代码检查 站长工具博物馆网站 微信 微博 建设方案
  • 怎么登录企业网站中关村手机在线官网
  • 承德网站制作与建设wordpress制作下拉菜单
  • 在网站后台做网页怎样创建app