- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个方面根据目标方法的细节进行各种计算,因此预先提取这些内容如下:
@Around("execution(* com.xyz.service.AccountService.*(..))")
public void validateParams(ProceedingJoinPoint joinPoint) throws Throwable {
final MethodSignature signature = (MethodSignature) joinPoint.getSignature();
final String methodName = signature.getName();
final String[] parameterNames = signature.getParameterNames();
final Object[] arguments = joinPoint.getArgs();
...
...
...
joinPoint.proceed();
}
在提取的详细信息中,除了始终返回 null 的 parameterNames 之外,所有信息都反射(reflect)了预期的信息。我希望它按照下面的签名返回 {accountDetails}。谁知道我可能遗漏了什么,或者这是一个错误?
这是我正在处理的目标方法的签名:
Long createAccount(RequestAccountDetails accountDetails);
最佳答案
对我有用:
@Aspect
public class MyAspect {
@Around("execution(* *(..)) && !within(MyAspect)")
public Object validateParams(ProceedingJoinPoint joinPoint) throws Throwable {
final MethodSignature signature = (MethodSignature) joinPoint.getSignature();
final String[] parameterNames = signature.getParameterNames();
for (String string : parameterNames) {
System.out.println("paramName: " + string);
}
return joinPoint.proceed();
}
}
输出:paramName: accountDetails
我已将 validateParams 的签名更改为:public Object validateParams(ProceedingJoinPoint joinPoint) throws Throwable
因为 createAccount()
返回一个 Long。否则我会得到错误:applying to join point that doesn't return void: {0}
关于java - AspectJ MethodSignature 为 getParameterNames() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8859987/
我使用 getParameterNames 从 UI 获取参数名称和值到我的 servlet。现在我想使用这些值来运行我的查询,但我不知道该怎么做,但我在执行此操作时遇到错误 我在做什么 从具有动态星
HttpServletRequest request; Enumeration params = request.getParameterNames(); 如何声明上述方法的返回类型? 最佳答
如何获取 HTML 表单中的所有 parameterNames相同的序列? 例子: 如果表单包含FirstName、LastName和Age 输出应该完全出现在相同的序列 我试过使用以下方法,但这改变
HTTPServletRequest req,有一个方法getParameterMap(),但是,值返回一个String[]而不是String,发布数据为 name=Marry&lastName=Jo
是否可以将 request.getParameterNames() 作为字符串列表获取?我需要这种形式。 最佳答案 只是construct一个新的ArrayList包装 request paramet
我有一个 html 表单,它将数据发布到 servlet。但是 getParameterNames() 返回的顺序与 HTML 表单中返回的顺序不同。 如何以相同的顺序检索参数? 最佳答案 请求中的参
我有一个方面根据目标方法的细节进行各种计算,因此预先提取这些内容如下: @Around("execution(* com.xyz.service.AccountService.*(..))")
我是一名优秀的程序员,十分优秀!