You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Neal Hu (JIRA)" <ji...@apache.org> on 2016/05/24 16:28:12 UTC

[jira] [Issue Comment Deleted] (CXF-6917) SuperClass and Interface's Annotations are ignored when the Method contains ParameterAnnotation

     [ https://issues.apache.org/jira/browse/CXF-6917?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Neal Hu updated CXF-6917:
-------------------------
    Comment: was deleted

(was: 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)