cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Neal Hu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-6917) SuperClass and Interface's Annotations are ignored when the Method contains ParameterAnnotation
Date Tue, 24 May 2016 16:27:12 GMT

    [ 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)

Mime
View raw message