我可以使用注释来修改带注释的属性吗?

时间:2017-10-05 17:57:12

标签: java groovy aspectj aspect

鉴于

class MyPOJO {
    @XssSanitized()
    String name
}

@Retention(RetentionPolicy.RUNTIME)
@interface XssSanitized {

}

import org.aspectj.lang.annotation.Aspect

@Aspect
@Slf4j
@Component
class XssSanitizedAspect {

    @Around("@within(com.es.phoenix.services.security.XssSanitized))")
    void sanitize(){
        //capture the value of the annotated String
        //make an arbritary change to the string
        //return modified string or otherwise overwrite the property
            log.info("XssSanitizedAspect is working!!!!")
    }
}

是否可以修改myPOJOObject.name内的属性XssSanitizedAspect

实际上,我需要一种方法来对XSS进行清理String属性。我尝试创建一个自定义Jackson Deserializer。它工作正常,但我不能inject a feature toggle(没有解决方法破坏与UI的所有合同),所以解决方案让我失望。

我在网上浏览过很多例子。我没有找到一个示例,其中带注释的属性以这种方式直接修改了它的值。

0 个答案:

没有答案