2016-06-03 15 views
0

Ich habe ein kleines Stück Code. Ruhe ControllerFrühling AOP um Ruhe exucution

@RestController 
public class GreetingController { 
    @RequestMapping("/greeting") 
    public String greeting() { 
     return "greeting"; 
    } 
} 

und Aspekt

@Aspect 
@Component 
public class Audience { 
@Around("execution(** com.fire.example.GreetingController.greeting(..))") 
    public void silenceCellPhones(ProceedingJoinPoint jp) { 
     try { 
      System.out.println("Before call"); 
      jp.proceed(); 
      System.out.println("After call"); 
     } catch (Throwable e) { 
      e.printStackTrace(); 
     } 
    } 
} 

Und ich weiß nicht, warum, aber der Rest Controller funktioniert ohne Aspekt gut und es funktioniert nicht. Im Falle der Verwendung von @ After und @ Before Rest funktioniert auch gut. Wenn ich sage, dass Ruhe nicht funktioniert, meine ich, dass keine Antwort zurückgegeben wird.
Ich würde jede Idee begrüßen.

Antwort

1

Ein around-Hinweis muss (als Object) das Ergebnis der .proceed() - Methode zurückgeben oder Sie entfernen den Rückgabewert.

+0

Vielen Dank, ich wusste nicht darüber. Jetzt funktioniert es perfekt – MrFirelord