#java #web-services #rest #annotations #jersey
#java #веб-сервисы #остальное #аннотации #джерси
Вопрос:
Я использую библиотеку Java Jersey для создания веб-службы RESTful.
Я использую параметр запроса для метода. Я хочу указать значение по умолчанию для этого параметра запроса. Если я укажу постоянную строку, тогда все в порядке. Но как я могу указать значение времени выполнения в качестве значения по умолчанию?
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;
}
}
Как я могу использовать здесь переменную вместо константы? Возможно ли это вообще?
Ответ №1:
Нет, это невозможно — по крайней мере, без использования аннотации. Можете ли вы подробнее рассказать о том, зачем вам это нужно? Может быть, я смогу предложить какой-нибудь альтернативный подход.
Комментарии:
1. Я могу представить случай, когда дата должна быть указана в параметре запроса и должна быть установлена по умолчанию на сегодняшний день
2. Это мой вариант использования
Ответ №2:
Не уверен, что это то, что вы искали, но пытались ли вы сделать значение по умолчанию окончательным?
final String defaultValue = "Default";
Это работает для меня.