SpringAOP怎么修改请求参数列表 您所在的位置:网站首页 修改系统参数 SpringAOP怎么修改请求参数列表

SpringAOP怎么修改请求参数列表

#SpringAOP怎么修改请求参数列表| 来源: 网络整理| 查看: 265

SpringAOP怎么修改请求参数列表 发布时间:2023-03-07 17:21:52 来源:亿速云 阅读:70 作者:iii 栏目:开发技术

这篇“SpringAOP怎么修改请求参数列表”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringAOP怎么修改请求参数列表”文章吧。

SpringAOP修改请求参数列表

今天遇到了一个问题,要批量在前端请求之后修改其中的一个参数值。

我使用SpringAop拦截请求去修改参数值,因为Spring Aop是无法直接根据参数名获取参数的,所以使用MethodSignature首先获取当前方法的参数列表,找到对应参数的下标,然后根据下标获取当前参数对应的值。

代码如下:

private final String execution = "execution(* com.zxy.test.degitaltool.tree.controller.TestController.*(..))";       /**      * @param pjp      * @return      * @throws Throwable      */     @Around(execution)     public Object before(ProceedingJoinPoint pjp) throws Throwable {         Method method = ((MethodSignature) pjp.getSignature()).getMethod();         Parameter[] parameters = method.getParameters();         int keyIndex = getKeyIndex2(parameters, "treeId");         Object[] args = pjp.getArgs();         if (keyIndex != -1) {             String value = args[keyIndex];//找到对应的值             ...         }         return pjp.proceed(args);//修改参数值     }       private int getKeyIndex2(Parameter[] parameters, String key) {         for (int i = 0; i 


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有