Thanks it does work but now methodInvocation.proceed return [] (empty object) where it should return list values. Any idea for such behaviour ?
On Sunday, 23 April 2017 14:34:53 UTC+5:30, pradrone dev wrote: > > Guice module integration issue with REST I have define one AOP guice based > module, but when I tried to integrate with REST code, > methodInvocation.proceed retun null. What might be best way to solve this > issue. > > Define AOP Guice based module as below > > @Retention <https://github.com/Retention>(RetentionPolicy.RUNTIME) > @Target <https://github.com/Target>(ElementType.METHOD) > @interface <https://github.com/interface> NotOnWeekends {} > public class WeekendBlocker implements MethodInterceptor { > > public Object invoke(MethodInvocation invocation) throws Throwable { > > Calendar today = new GregorianCalendar(); > > if (today.getDisplayName(DAY_OF_WEEK, LONG, ENGLISH).startsWith("S")) { > > throw new IllegalStateException( > > invocation.getMethod().getName() + " not allowed on weekends!"); > } > > return invocation.proceed(); > > } > > } > > public class NotOnWeekendsModule extends AbstractModule { > protected void configure() { > > bindInterceptor(Matchers.any(), Matchers.annotatedWith(NotOnWeekends.class), > > new WeekendBlocker()); > > } > } > > But I tried to Integrate this with my REST API > > public class WorkerBean implements Worker { > > @Autowired > private WorkerRepository workerRepository; > > @Override > @NotOnWeekends > public Collection<Worker> findAll() { > > Collection<Worker> workers = workerRepository.findAll(); > > return workers; > } > > @RestController <https://github.com/RestController> > public class WorkerController { > > @RequestMapping( > value = "/api/workers", > method = RequestMethod.GET, > produces = MediaType.APPLICATION_JSON_VALUE) > public ResponseEntity<Collection<Worker>> getWorkers() { > > > Worker worker = Guice.createInjector(new > NotOnWeekendsModule()).getInstance(Worker.class); > > Collection<Worker> worker = worker.findAll(); // return null > > .... > } > > -- You received this message because you are subscribed to the Google Groups "google-guice" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-guice+unsubscr...@googlegroups.com. To post to this group, send email to google-guice@googlegroups.com. Visit this group at https://groups.google.com/group/google-guice. To view this discussion on the web visit https://groups.google.com/d/msgid/google-guice/fb70b5e4-27e5-4296-95ef-06c84fc6c0fb%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.