如何在Jersey中动态指定默认值?

时间:2011-10-13 09:52:34

标签: java web-services rest annotations jersey

我正在使用Java Jersey库来创建RESTful Web服务。

我正在使用查询参数进行方法。我想指定该查询参数的默认值。如果我指定一个常量字符串,那就没问题。但是如何将运行时值指定为默认值?

import javax.ws.rs.DefaultValue; 
import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.QueryParam; 
import javax.ws.rs.core.MediaType; 

@Path( "Hello" ) 
public class HelloWorld 
{ 
    private String defaultValue = "Default"; 

    @GET 
    @Produces( MediaType.APPLICATION_XML ) 
    public String greet( @QueryParam( "User" ) @DefaultValue( "defaultValue" )String userName ) 
    { 
        String returnValue = "Hello " + userName; 
        System.out.println( returnValue ); 
        return returnValue; 
    } 
} 

而不是常数我怎样才能在这里使用变量?有可能吗?

2 个答案:

答案 0 :(得分:2)

不,这是不可能的 - 至少不使用注释。你能说更多关于你为什么要这么做的事吗?也许我可以建议一些替代方法。

答案 1 :(得分:0)

不确定这是否是您要查找的内容,但是您是否尝试将默认值定为最终值?

final String defaultValue = "Default"; 

对我有用。