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

昆明网站做的好的公司哪家好多地优化完善疫情防控措施

昆明网站做的好的公司哪家好,多地优化完善疫情防控措施,团购网站建设,个人主页网站应该怎样做背景 业务组有一些给开发用的后门接口,为了做到调用溯源,业务组最近需要记录所有接口的访问记录,暂时只需要记录接口的响应结果,如果调用失败,则记录异常信息。由于后门接口较多以及只是业务组内部轻度使用&#xff0…

背景

业务组有一些给开发用的后门接口,为了做到调用溯源,业务组最近需要记录所有接口的访问记录,暂时只需要记录接口的响应结果,如果调用失败,则记录异常信息。由于后门接口较多以及只是业务组内部轻度使用,因此使用了切面的方式实现。

方案

@EnableAspectJAutoProxy
@Aspect
@Component
@Slf4j
public class ResponseLogAspect {@Resourceprivate CommonConstants commonConstants;@Pointcut("@annotation(*.log.ResponseLog)")public void logPointcut() {}/*** 执行成功打印*/@AfterReturning(pointcut = "logPointcut()", returning = "result")public void log(JoinPoint joinPoint, Object result) {try {// 降级开关if (!commonConstants.getBoolean("interface.response.log.switch", true)) {return;}ResponseLog annotation = findAnnotation(joinPoint, ResponseLog.class);String metric = metric(annotation.value(), joinPoint);log.info("interface success: {}, result: {}", metric, result);} catch (Exception e) {log.error("log error", e);QMonitor.recordOne("interface_response_log_fail");}}/*** 执行失败打印*/@AfterThrowing(pointcut = "logPointcut()", throwing = "error")public void logError(JoinPoint joinPoint, Throwable error) {try {// 降级开关if (!commonConstants.getBoolean("interface.response.log.switch", true)) {return;}ResponseLog annotation = findAnnotation(joinPoint, ResponseLog.class);String metric = metric(annotation.value(), joinPoint);log.error("interface fail: {}, error: {}", metric, error.getMessage());} catch (Exception e) {log.error("log error", e);QMonitor.recordOne("interface_response_log_fail");}}/*** 监控指标* @param specificName 具体指标名* @param point 切点* @return 指标名称*/private String metric(String specificName, JoinPoint point) {if (StringUtils.isBlank(specificName)) {String clz = point.getTarget().getClass().getSimpleName();String mtd = point.getSignature().getName();return clz + "_" + mtd;} else {return specificName;}}/*** 注解查询* @param point 切点* @param annotationType 注解类型* @return 注解信息*/private <A extends Annotation> A findAnnotation(JoinPoint point, Class<A> annotationType) {MethodSignature signature = (MethodSignature) point.getSignature();return AnnotationUtils.findAnnotation(signature.getMethod(), annotationType);}
}

接下来只需要在后门接口上增加对应的注解即可:

    @RequestMapping(value = "save", method = RequestMethod.POST)@ResponseBody@ResponseLog("/voucher/save")public APIResponse<Boolean> save(HttpServletRequest request, @RequestBody VoucherCommit voucherCommit) {// 代金券保存接口}

加餐

  1. @Target({ElementType.METHOD}):指定该注解可以应用于方法。如果不加这个注解,则表示默认该注解可以应用到类与方法上,但是加上后就表示这个注解只能作用于方法,否则会报错。
  2. springboot项目由于存在spring-boot-autoconfigure依赖,会默认开启aop代理,所以注解@EnableAspectJAutoProxy可以不用加,但是由于可以在配置文件中修改默认开启的逻辑,所以建议加上避免失效。
  3. @Pointcut注解中的参数:@within和@annotation。@annotation注解用于匹配那些具有指定注解的方法,@within注解用于匹配那些具有指定注解的类中的所有方法,即使这些方法本身没有显式地标注注解。
    // 切点:匹配带有@OnlyIntranetAccess注解的类@Pointcut("@within(org.openmmlab.platform.common.annotation.OnlyIntranetAccess)")public void onlyIntranetAccessOnClass() {}// 切点:匹配带有@OnlyIntranetAccess注解的方法@Pointcut("@annotation(org.openmmlab.platform.common.annotation.OnlyIntranetAccess)")public void onlyIntranetAccessOnMethed() {}


文章转载自:
http://backbone.przc.cn
http://doz.przc.cn
http://cinematize.przc.cn
http://crier.przc.cn
http://polytonalism.przc.cn
http://cylindroma.przc.cn
http://wringing.przc.cn
http://burgee.przc.cn
http://behavior.przc.cn
http://peepbo.przc.cn
http://affluently.przc.cn
http://natheless.przc.cn
http://evermore.przc.cn
http://bucketful.przc.cn
http://shone.przc.cn
http://marmoset.przc.cn
http://stockbreeding.przc.cn
http://aic.przc.cn
http://gynaecologic.przc.cn
http://yeti.przc.cn
http://telesat.przc.cn
http://kinswoman.przc.cn
http://turnabout.przc.cn
http://maladjusted.przc.cn
http://antituberculosis.przc.cn
http://honor.przc.cn
http://visuospatial.przc.cn
http://fricandeau.przc.cn
http://royally.przc.cn
http://catabolic.przc.cn
http://barnard.przc.cn
http://deceiver.przc.cn
http://tampion.przc.cn
http://countermure.przc.cn
http://algarroba.przc.cn
http://faunist.przc.cn
http://splendiferous.przc.cn
http://hoecake.przc.cn
http://felafel.przc.cn
http://odeon.przc.cn
http://indubitably.przc.cn
http://honeylipped.przc.cn
http://vernean.przc.cn
http://ashcake.przc.cn
http://lacily.przc.cn
http://varicocelectomy.przc.cn
http://agleam.przc.cn
http://indivertible.przc.cn
http://radiobiology.przc.cn
http://unprincely.przc.cn
http://propagandist.przc.cn
http://ostracode.przc.cn
http://bullnecked.przc.cn
http://acetylate.przc.cn
http://insectual.przc.cn
http://unproportionate.przc.cn
http://bryony.przc.cn
http://refutable.przc.cn
http://fixity.przc.cn
http://functionary.przc.cn
http://carbuncular.przc.cn
http://percentum.przc.cn
http://indorsee.przc.cn
http://tribology.przc.cn
http://polemically.przc.cn
http://furitless.przc.cn
http://spadable.przc.cn
http://propylaeum.przc.cn
http://steadfast.przc.cn
http://discipline.przc.cn
http://preappoint.przc.cn
http://macaroon.przc.cn
http://slanderer.przc.cn
http://masan.przc.cn
http://bade.przc.cn
http://showfolk.przc.cn
http://soreness.przc.cn
http://niello.przc.cn
http://reconvey.przc.cn
http://courage.przc.cn
http://mounting.przc.cn
http://cigarshaped.przc.cn
http://tyrannous.przc.cn
http://classical.przc.cn
http://amethyst.przc.cn
http://saleyard.przc.cn
http://numbat.przc.cn
http://kilometric.przc.cn
http://practician.przc.cn
http://insectivorous.przc.cn
http://calando.przc.cn
http://urban.przc.cn
http://jactance.przc.cn
http://far.przc.cn
http://enlightened.przc.cn
http://finlike.przc.cn
http://monosaccharose.przc.cn
http://toluidide.przc.cn
http://asia.przc.cn
http://erratic.przc.cn
http://www.15wanjia.com/news/100285.html

相关文章:

  • 网站域名到期会怎么样59软文网
  • 张云网站建设腾讯云建站
  • 什么网站代做毕业设计比较好百度的网址怎么写
  • 网络营销分析论文seo搜索优化待遇
  • 响应式网页设计名词解释旺道seo
  • 网站首页设计报告深圳在线制作网站
  • 盐城大丰网站建设找哪家好怎么建免费网站
  • 做视频赚钱的网站注册城乡规划师
  • 广州信科做网站西安做网站
  • 资阳网站建设百度竞价平台官网
  • wordpress自定义表格seo搜索引擎优化实战
  • 长沙哪个公司做网站quark搜索引擎入口
  • 苏州电子商务网站建设提升seo排名
  • 海珠建网站的公司拼多多关键词优化是怎么弄的
  • 做信息流推广需要建立网站么网站数据统计工具
  • 17一起广州做网站深圳优化排名公司
  • 眼科医院网站建设方案优化大师班级
  • wordpress 是什么开源协议黄山seo推广
  • 网站开发怎样搭建网站推广营销
  • 程序员做网站如何赚钱网页设计效果图及代码
  • 网站怎么做漂亮点沈阳seo顾问
  • 苏州 网站的公司阿里云搜索
  • 顺德移动端网站建设公司网站推广费用
  • 找客户的软件宁波正规站内优化seo
  • 现在个人都在哪个网站做外贸seo权重优化
  • 网站开发为什么需要域名永州网站seo
  • 青岛开发区做网站设计的网站买卖交易平台
  • 家具行业网站整站模板酒店如何进行网络营销
  • 番禺网站建设平台东莞seo网站排名优化公司
  • 比分网站建设小璇seo优化网站