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

Sergey Beryozkin commented on CXF-2666:
---------------------------------------

Please see

https://jsr311.dev.java.net/servlets/ReadMsg?listName=users&msgNo=189

Now, what you can do to get the default value in a method if no value is set, 
is to override a Message.QUERY_STRING in a request filter, ex :

@Context UriInfo ui;

void Response handleRequest(ClassresourceInfo cri, Message m) {
      StringBuilder sb = new StringBuilder();
      for (Map.Entry<String, List<String>> entry : 
ui.getQueryParameters().entrySet()) {
           String queryName = entry.getKey();
           
           List<String> queryValues = entry.getValue();
           for (String value : queryValues) {
                sb.append(queryName + "=");
                sb.append(value.length() == 0 ? "-1" : value);
           }           
       }
       message.put(Message.QUERY_STRING, sb.toString());
}


alternatively create a bean class :

public class QueryBean {

private Strring id = "-1";

public void setId(String idValue) {
    if (!"".equals(idValue)) {
        id = idValue;
    }
}


and use QueryParam("") QueryBean
}


> @QueryParam @DefaultValue does not return default value 
> --------------------------------------------------------
>
>                 Key: CXF-2666
>                 URL: https://issues.apache.org/jira/browse/CXF-2666
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 2.2.5, 2.2.6
>         Environment: mac OSX, jdk 1.6
>            Reporter: michael Cheung
>         Attachments: InjectionUtils.java
>
>
> When doing a HTTP GET /getFoo?id= to the resource below, the default value 
> does not override the query parameter.
> @GET
> @Path("/getFoo")
> public Response getFoo(@QueryParam("id") @DefaultValue("-1") String gameId)
>     

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to