【问题标题】:How can I specify a Default value dynamically in Jersey?如何在 Jersey 中动态指定默认值?
【发布时间】:2011-10-13 09:52:34
【问题描述】:

我正在使用 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; 
    } 
} 

我如何在这里使用变量而不是常量?有可能吗?

【问题讨论】:

    标签: java web-services rest annotations jersey


    【解决方案1】:

    不,这是不可能的——至少不使用注释。您能否详细说明为什么需要这样做?也许我可以建议一些替代方法。

    【讨论】:

    • 我可以想到一个日期需要在查询参数中并且应该默认为今天的情况
    • 这是我的用例
    【解决方案2】:

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

    final String defaultValue = "Default"; 
    

    它对我有用。

    【讨论】:

      猜你喜欢
      • 2021-10-31
      • 2018-01-10
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-04
      相关资源
      最近更新 更多