Скажем, у меня есть приложение, которое должно сокращать URL-адреса, но также делать другие вещи. (например, google.com
и goo.gl
, или facebook.com
и fb.me
).
Легко будет просто развернуть два приложения, но (на данный момент) проще просто быть одним. Используя spring и spring -mvc. У меня есть следующие отображения:
@RequestMapping(value="/{shortUrlKey}", headers="Host=foo.br")
...
@RequestMapping(value="/{username}")
Увы, аннотация headers
действует не как предоставление более конкретной информации, а как ограничение. Поэтому, если у меня есть эти два, вызывается только последний, даже если я его открываю как http://foo.br/asdf
. Если оставить только первый, он работает для тех, кто идет от foo.br
, и ничего не открывает, если хост отличается.
Итак, вопросы:
- как я могу сделать два обработчика для одного и того же пути, но разные URL-адреса/хосты
- Можно ли разрешить хост динамически, с конфигуратором заполнителя свойств (а не жестким кодом в аннотации).
Возможно, оба будут работать, если есть какой-либо подключаемый механизм для разрешения метода. Есть ли такие?