#jboss #jax-rs #wildfly #resteasy
Вопрос:
Возможно ли это? Допустим, существует интерфейс, объявляющий конечные статические строки, которые определяют путь приложения и пути к ресурсам, чтобы иметь единую ссылку и обеспечивать согласованность в очень большом наборе приложений серверов и клиентов.
Интерфейс @ аннотации принимает строковое значение. Но должен ли это быть строковый литерал?
Кто-нибудь пробовал что-то подобное? Работает?
Я быстро попробовал, и оказалось, что это не так, почему я не знаю.
Комментарии:
1. Что вы имеете в виду, говоря, что это не работает? Вы видите ошибки компиляции?
2. Он отлично компилируется. Похоже, что реализация аннотации не способна преобразовать выражение в строковый результат. Это кажется вероятным объяснением. Результирующий сервер не сопоставляет ресурс с путем, что приводит к ошибкам 404.
3. Под выражением лица вы подразумеваете что-то вроде
${some.system.property:my-default}
? Если так, то да, это не сработает.4. Нет общедоступного интерфейса RestConstants { общедоступная конечная статическая строка base=»/restapi»; } тогда @ApplicationPath(RestConstants.base) общедоступные базовые ресурсы классов бла-бла-бла не работает
5. Я не понимаю, почему это не сработает. Он должен скомпилироваться до жестко закодированной строки. Если вы измените его на
@ApplicationPath("/restapi")
работает ли он?