[ https://issues.apache.org/jira/browse/CXF-1675?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12609184#action_12609184 ]
Sergey Beryozkin commented on CXF-1675: --------------------------------------- This is fixed in my snapshot. I hope to see it merged this week > @QueryParam is not following reference javadoc for primitive types > ------------------------------------------------------------------ > > Key: CXF-1675 > URL: https://issues.apache.org/jira/browse/CXF-1675 > Project: CXF > Issue Type: Bug > Components: REST > Affects Versions: 2.1.2 > Reporter: Joe Sunday > > The reference javadoc for @DefaultValue states: > If this annotation is not used and the corresponding metadata is not present > in the request, the value will be an empty collection for List, Set or > SortedSet, null for other object types, and the Java-defined default for > primitive types. > If @QueryParameter is used with a primitive type, a null pointer exeption is > thrown rather than setting the parameter to the java-defined default: > @Path("/update/{id}") > @GET > public Result getUpdates(@PathParam("since") long since, @QueryParam("terse") > boolean terse) { ... } > org.apache.cxf.interceptor.Fault: null while invoking public > com.example.Result com.example.Service.getUpdates(long,boolean) with params > [0, null]. > at > org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:121) > at > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:113) > at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:98) > at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:53) > at > org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56) > at > org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) > $ curl http://localhost:2259/example/update/0 > <ns1:XMLFault > xmlns:ns1="http://cxf.apache.org/bindings/xformat"><ns1:faultstring > xmlns:ns1="http://cxf.apache.org/bindings/xformat">java.lang.IllegalArgumentException</ns1:faultstring></ns1:XMLFault> > It seems to ignore @DefaultValue altogether, as the same fault happens if the > method is changed to: > public Result getUpdates(@PathParam("since") long since, @QueryParam("terse") > @DefaultValue("false") boolean terse) { ... } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.