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

问题描述 投票:4回答:2

我正在使用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
2个回答
2
投票

不,不可能-至少不使用注释。您能否说说为什么要这样做?然后也许我可以建议一些替代方法。


0
投票

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

final String defaultValue =“默认”;

它对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.