2012-04-12 8 views
0

Ich versuche, Header zu einer Controller-Antwort über AOP hinzuzufügen, und ich bin mir nicht sicher, wie man auf den Controller oder die Antwort des Controllers zugreifen kann.Ändern einer Controller-Antwort mit annotationsbasiertem AOP?

Wie mache ich das?

Dies ist meine aktuelle Anmerkung:

@Retention(RetentionPolicy.RUNTIME) 
@Target([ElementType.METHOD, ElementType.TYPE, ElementType.FIELD]) 
public @interface NoCaching { 
} 

Und hier ist mein aktueller Aspekt: ​​

@Aspect 
@Component("noCachingAspect") 
class NoCachingAspect { 

    @Pointcut("@annotation(com.grailsrocks.cacheheaders.NoCaching)") 
    public void nameDoesntMatter() { 
    } 

    @Before("com.grailsrocks.cacheheaders.NoCachingAspect.nameDoesntMatter()") 
    public void beforeMethod(JoinPoint joinPoint) throws Throwable { 
     println 'hellowoeijf' 
    } 
} 

Und hier ist, wie ich die Anmerkung:

@NoCaching 
    def annotations(){ 
     println 'bar' 
    } 

Wie kann ich Zugriff auf den Controller, auf den die Annotation abzielt, um das Antwortobjekt zu ändern?

Antwort