[
https://issues.apache.org/jira/browse/CXF-6917?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15298459#comment-15298459
]
Neal Hu commented on CXF-6917:
------------------------------
Seams you are right.
in spec 3.6 Annotation Inheritance
Such annotations are inherited by a corresponding sub-class or implementation
class method provided that the method and its parameters do not have any JAX-RS
annotations of their own.
But personally, i think when the method has parameter annotation we should not
ignore the annotation inheritance in the method.
> SuperClass and Interface's Annotations are ignored when the Method contains
> ParameterAnnotation
> -----------------------------------------------------------------------------------------------
>
> Key: CXF-6917
> URL: https://issues.apache.org/jira/browse/CXF-6917
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 3.1.6
> Environment: Mac java 8
> Reporter: Neal Hu
> Fix For: 3.0.10, 3.2.0, 3.1.8
>
>
> Suppose we have below interface and its implementation:
> public interface HelloWorld {
> @GET
> @Path("/hello")
> String sayHello(@QueryParam("name") String name);
> @GET
> @Path("/hello3")
> String sayHello3();
> }
> @Path("/")
> public class HelloWorldImpl implements HelloWorld {
> @Override
> public String sayHello(@QueryParam("name") String name){
> return "hello " + name;
> }
> @GET
> @Path("/hello2")
> public String sayHello2(@QueryParam("name") String name){
> return "hello2 " + name;
> }
> @Override
> public String sayHello3(){
> return "hello3 ";
> }
> }
> Get /hello3 works good. but Get /hello?name=neal will result in 404. The
> expected output is hello neal.
> The root cause is in org.apache.cxf.jaxrs.utils.AnnotationUtils:167 CXF
> ignores the recurrence search of the method who has parameter annotations.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)