cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "MIchail Nikolaev (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-5776) @PathParam not works inside @BeanParam
Date Tue, 03 Jun 2014 15:57:01 GMT

    [ https://issues.apache.org/jira/browse/CXF-5776?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14016816#comment-14016816
] 

MIchail Nikolaev commented on CXF-5776:
---------------------------------------

[~sergeyb] looks like I not clearly explained the issue.
I want to use PathParam inside BeanParam, as defined in specification - https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/BeanParam.html

But it not work for this cases:

{code}
   public class MyBean {   
   @PathParam("not_works_1")
   private String header;

   @PathParam("not_works_2")
   public void setResourceId(String id) {...}
 }
{code}

But it only works for:
{code}
    @PathParam("identity")
    public void setIdentity(@Nonnull @PathParam("identity") Identity identity) {
        this.identity = identity;
    }
{code}

> @PathParam not works inside @BeanParam
> --------------------------------------
>
>                 Key: CXF-5776
>                 URL: https://issues.apache.org/jira/browse/CXF-5776
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 2.7.11
>            Reporter: MIchail Nikolaev
>            Assignee: Sergey Beryozkin
>            Priority: Minor
>
> Check line:
> https://fisheye6.atlassian.com/browse/~br=2.7.x-fixes/cxf/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/client/ClientProxyImpl.java?r=3248da800fdf25f5bd962b962b7ff2d9d98cd225#to485
> Error in the snippet
> {code}
>  m.getParameterAnnotations()[0]
> {code}
> - for some reason you get first annotation from *parameter* of the method (setter?).
> So, to make it worked I need to use such workaround:
> {code}
>     @PathParam("identity")
>     public void setIdentity(@Nonnull @PathParam("identity") Identity identity) {
>         this.identity = identity;
>     }
> {code}
> Probably you need to call _getter.getAnnotation(anClass)_ to allow such properties to
work (it worked in 2.7.9 as far as I remember):
> {code}
>     public void setIdentity(@Nonnull Identity identity) {
>         this.identity = identity;
>     }
>     @PathParam("identity")
>     @Nonnull
>     public Identity getIdentity() {
>         return identity;
>     }
> {code}
> Also, it is better to catch Exception instead of Throwable.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message