I can't intercept a rest web service with spring aop pointcut












1















I use spring aop to intercept a Get web service call, to do that, this is my code:



@Aspect
@Component
public class RestInterceptor {
@Around("@annotation(javax.ws.rs.GET)")
public Object authorizeGetMethod(final ProceedingJoinPoint pjp) {
Object value = null;
try {
value = pjp.proceed();
}
catch (Throwable e) {
e.printStackTrace();
}
return value;
}
}


When I call a Get web service the code above is never called (the web service work correctly) but the same code works when I change the annotation by @annotation(org.springframework.transaction.annotation.Transactional)





Update (edit by @kriegaex, copied from comment):



@Nikolas the code in the interface is



@GET
Response getAll(
@QueryParam("q") String filter,
@QueryParam("field") List<String> fields
);


and the implementation



@Override public Response getAll(String filter, List<String> fields) {
return Response.ok(
// this.getConverter(this.getService().findAll(filter), fields)
).build();
}









share|improve this question

























  • Please, provide the method with @GET implementation and it's class header with all the annotations used.

    – Nikolas
    Nov 23 '18 at 11:59











  • Do try this @Around("@annotation(get)") public Object authorizeGetMethod(final ProceedingJoinPoint pjp, GET get) { ... } and share result

    – Bond - Java Bond
    Nov 23 '18 at 12:02











  • @Bond-JavaBond i did a test and i had the same behavior; the method inside the aspect class are not called and the web service respond correctly.

    – yobs
    Nov 23 '18 at 12:18











  • @Nikolas the code in the interface @GET Response getAll(@QueryParam("q") String filter, @QueryParam("field") List<String> fields);and the implementation @Override public Response getAll(String filter, List<String> fields) { return Response.ok( // this.getConverter(this.getService().findAll(filter), fields)) .build(); }

    – yobs
    Nov 23 '18 at 12:25













  • Try it without using interfaces.

    – Paul Samsotha
    Nov 25 '18 at 7:18
















1















I use spring aop to intercept a Get web service call, to do that, this is my code:



@Aspect
@Component
public class RestInterceptor {
@Around("@annotation(javax.ws.rs.GET)")
public Object authorizeGetMethod(final ProceedingJoinPoint pjp) {
Object value = null;
try {
value = pjp.proceed();
}
catch (Throwable e) {
e.printStackTrace();
}
return value;
}
}


When I call a Get web service the code above is never called (the web service work correctly) but the same code works when I change the annotation by @annotation(org.springframework.transaction.annotation.Transactional)





Update (edit by @kriegaex, copied from comment):



@Nikolas the code in the interface is



@GET
Response getAll(
@QueryParam("q") String filter,
@QueryParam("field") List<String> fields
);


and the implementation



@Override public Response getAll(String filter, List<String> fields) {
return Response.ok(
// this.getConverter(this.getService().findAll(filter), fields)
).build();
}









share|improve this question

























  • Please, provide the method with @GET implementation and it's class header with all the annotations used.

    – Nikolas
    Nov 23 '18 at 11:59











  • Do try this @Around("@annotation(get)") public Object authorizeGetMethod(final ProceedingJoinPoint pjp, GET get) { ... } and share result

    – Bond - Java Bond
    Nov 23 '18 at 12:02











  • @Bond-JavaBond i did a test and i had the same behavior; the method inside the aspect class are not called and the web service respond correctly.

    – yobs
    Nov 23 '18 at 12:18











  • @Nikolas the code in the interface @GET Response getAll(@QueryParam("q") String filter, @QueryParam("field") List<String> fields);and the implementation @Override public Response getAll(String filter, List<String> fields) { return Response.ok( // this.getConverter(this.getService().findAll(filter), fields)) .build(); }

    – yobs
    Nov 23 '18 at 12:25













  • Try it without using interfaces.

    – Paul Samsotha
    Nov 25 '18 at 7:18














1












1








1








I use spring aop to intercept a Get web service call, to do that, this is my code:



@Aspect
@Component
public class RestInterceptor {
@Around("@annotation(javax.ws.rs.GET)")
public Object authorizeGetMethod(final ProceedingJoinPoint pjp) {
Object value = null;
try {
value = pjp.proceed();
}
catch (Throwable e) {
e.printStackTrace();
}
return value;
}
}


When I call a Get web service the code above is never called (the web service work correctly) but the same code works when I change the annotation by @annotation(org.springframework.transaction.annotation.Transactional)





Update (edit by @kriegaex, copied from comment):



@Nikolas the code in the interface is



@GET
Response getAll(
@QueryParam("q") String filter,
@QueryParam("field") List<String> fields
);


and the implementation



@Override public Response getAll(String filter, List<String> fields) {
return Response.ok(
// this.getConverter(this.getService().findAll(filter), fields)
).build();
}









share|improve this question
















I use spring aop to intercept a Get web service call, to do that, this is my code:



@Aspect
@Component
public class RestInterceptor {
@Around("@annotation(javax.ws.rs.GET)")
public Object authorizeGetMethod(final ProceedingJoinPoint pjp) {
Object value = null;
try {
value = pjp.proceed();
}
catch (Throwable e) {
e.printStackTrace();
}
return value;
}
}


When I call a Get web service the code above is never called (the web service work correctly) but the same code works when I change the annotation by @annotation(org.springframework.transaction.annotation.Transactional)





Update (edit by @kriegaex, copied from comment):



@Nikolas the code in the interface is



@GET
Response getAll(
@QueryParam("q") String filter,
@QueryParam("field") List<String> fields
);


and the implementation



@Override public Response getAll(String filter, List<String> fields) {
return Response.ok(
// this.getConverter(this.getService().findAll(filter), fields)
).build();
}






java spring jax-rs aspectj spring-aop






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 11 '18 at 5:29









kriegaex

31.3k366101




31.3k366101










asked Nov 23 '18 at 11:35









yobsyobs

62




62













  • Please, provide the method with @GET implementation and it's class header with all the annotations used.

    – Nikolas
    Nov 23 '18 at 11:59











  • Do try this @Around("@annotation(get)") public Object authorizeGetMethod(final ProceedingJoinPoint pjp, GET get) { ... } and share result

    – Bond - Java Bond
    Nov 23 '18 at 12:02











  • @Bond-JavaBond i did a test and i had the same behavior; the method inside the aspect class are not called and the web service respond correctly.

    – yobs
    Nov 23 '18 at 12:18











  • @Nikolas the code in the interface @GET Response getAll(@QueryParam("q") String filter, @QueryParam("field") List<String> fields);and the implementation @Override public Response getAll(String filter, List<String> fields) { return Response.ok( // this.getConverter(this.getService().findAll(filter), fields)) .build(); }

    – yobs
    Nov 23 '18 at 12:25













  • Try it without using interfaces.

    – Paul Samsotha
    Nov 25 '18 at 7:18



















  • Please, provide the method with @GET implementation and it's class header with all the annotations used.

    – Nikolas
    Nov 23 '18 at 11:59











  • Do try this @Around("@annotation(get)") public Object authorizeGetMethod(final ProceedingJoinPoint pjp, GET get) { ... } and share result

    – Bond - Java Bond
    Nov 23 '18 at 12:02











  • @Bond-JavaBond i did a test and i had the same behavior; the method inside the aspect class are not called and the web service respond correctly.

    – yobs
    Nov 23 '18 at 12:18











  • @Nikolas the code in the interface @GET Response getAll(@QueryParam("q") String filter, @QueryParam("field") List<String> fields);and the implementation @Override public Response getAll(String filter, List<String> fields) { return Response.ok( // this.getConverter(this.getService().findAll(filter), fields)) .build(); }

    – yobs
    Nov 23 '18 at 12:25













  • Try it without using interfaces.

    – Paul Samsotha
    Nov 25 '18 at 7:18

















Please, provide the method with @GET implementation and it's class header with all the annotations used.

– Nikolas
Nov 23 '18 at 11:59





Please, provide the method with @GET implementation and it's class header with all the annotations used.

– Nikolas
Nov 23 '18 at 11:59













Do try this @Around("@annotation(get)") public Object authorizeGetMethod(final ProceedingJoinPoint pjp, GET get) { ... } and share result

– Bond - Java Bond
Nov 23 '18 at 12:02





Do try this @Around("@annotation(get)") public Object authorizeGetMethod(final ProceedingJoinPoint pjp, GET get) { ... } and share result

– Bond - Java Bond
Nov 23 '18 at 12:02













@Bond-JavaBond i did a test and i had the same behavior; the method inside the aspect class are not called and the web service respond correctly.

– yobs
Nov 23 '18 at 12:18





@Bond-JavaBond i did a test and i had the same behavior; the method inside the aspect class are not called and the web service respond correctly.

– yobs
Nov 23 '18 at 12:18













@Nikolas the code in the interface @GET Response getAll(@QueryParam("q") String filter, @QueryParam("field") List<String> fields);and the implementation @Override public Response getAll(String filter, List<String> fields) { return Response.ok( // this.getConverter(this.getService().findAll(filter), fields)) .build(); }

– yobs
Nov 23 '18 at 12:25







@Nikolas the code in the interface @GET Response getAll(@QueryParam("q") String filter, @QueryParam("field") List<String> fields);and the implementation @Override public Response getAll(String filter, List<String> fields) { return Response.ok( // this.getConverter(this.getService().findAll(filter), fields)) .build(); }

– yobs
Nov 23 '18 at 12:25















Try it without using interfaces.

– Paul Samsotha
Nov 25 '18 at 7:18





Try it without using interfaces.

– Paul Samsotha
Nov 25 '18 at 7:18












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53445964%2fi-cant-intercept-a-rest-web-service-with-spring-aop-pointcut%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53445964%2fi-cant-intercept-a-rest-web-service-with-spring-aop-pointcut%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Wiesbaden

Marschland

Dieringhausen