tutorial restful jax example ejemplo java web-services rest jersey jax-rs

restful - web service rest java eclipse



Jersey: ¿Es posible especificar valores múltiples en la anotación @DefaultValue()? (1)

Estoy jugando con la API de Java para los servicios web RESTful (JAX-RS) , y @DefaultValue anotación @DefaultValue en la implementación de JAX-RS en Jersey.

Aquí está el fragmento de código

@GET @Path("/query") public Response getUserWithQueryParams( @DefaultValue("defaultId") @QueryParam("from")String from, @DefaultValue("defaultName") @QueryParam("to") String to, @DefaultValue("mobileNo")@QueryParam("orderBy") List<String> orderBy ){

Mi tercer argumento es de List<String> que puede tener múltiples valores

por ejemplo, paso explícitamente los parámetros

users/query?from=100&to=200&orderBy=age&orderBy=name

Ahora mi tercer argumento tiene valores [age,name] ,

pero si no paso ningún parámetro explícito, ¿hay alguna forma de establecer múltiples valores predeterminados ? ?


Esto no funcionará como lo desees. Si el objeto es tipo List, tendrá un único valor insertado en la lista. El objeto en la lista será el valor de su valor predeterminado para la lista. Verifique esto ¿Por qué no intenta verificar si orderBy == null si lo hace, entonces agregue sus valores predeterminados a orderBy ?