具有默认值的Java JAX-RS自定义参数
作者:互联网
假设我有这个(这只是一个例子):
@GET
@Path(value="address")
@Produces("application/json")
public Response getAddress(@QueryParam("user") User user){
...
}
和用户是
class User{
...
public static User valueOf(String user){
if(user == null) return DEFAULT_USER;
return dao.findById(user);
}
}
如果我做/ api / address?user = amir一切正常,但想法是如果我没有为用户提供值,那么我想要使用DEFAULT_USER.但这实际上并没有调用valueOf.有没有办法来解决这个问题?
解决方法:
JAX-RS具有@ DefaultValue注释:
@QueryParam("user") @DefaultValue("__DEFAULT")
class User{
...
public static User valueOf(String user){
if(user == null||"__DEFAULT".equals(user) return DEFAULT_USER;
return dao.findById(user);
}
}
标签:java,jax-ws,resteasy 来源: https://codeday.me/bug/20190827/1736336.html