Resteasy JAXRS -Использование статических конечных строк в аннотациях @ApplicationPath и @Path

#jboss #jax-rs #wildfly #resteasy

Вопрос:

Возможно ли это? Допустим, существует интерфейс, объявляющий конечные статические строки, которые определяют путь приложения и пути к ресурсам, чтобы иметь единую ссылку и обеспечивать согласованность в очень большом наборе приложений серверов и клиентов.

Интерфейс @ аннотации принимает строковое значение. Но должен ли это быть строковый литерал?

Кто-нибудь пробовал что-то подобное? Работает?

Я быстро попробовал, и оказалось, что это не так, почему я не знаю.

Комментарии:

1. Что вы имеете в виду, говоря, что это не работает? Вы видите ошибки компиляции?

2. Он отлично компилируется. Похоже, что реализация аннотации не способна преобразовать выражение в строковый результат. Это кажется вероятным объяснением. Результирующий сервер не сопоставляет ресурс с путем, что приводит к ошибкам 404.

3. Под выражением лица вы подразумеваете что-то вроде ${some.system.property:my-default} ? Если так, то да, это не сработает.

4. Нет общедоступного интерфейса RestConstants { общедоступная конечная статическая строка base=»/restapi»; } тогда @ApplicationPath(RestConstants.base) общедоступные базовые ресурсы классов бла-бла-бла не работает

5. Я не понимаю, почему это не сработает. Он должен скомпилироваться до жестко закодированной строки. Если вы измените его на @ApplicationPath("/restapi") работает ли он?