В нашем (Java) приложении Play у нас есть асинхронное задание, которое отправляет электронные письма пользователям при передаче различных крайних сроков. Предполагается, что электронные письма содержат ссылки на соответствующие страницы нашего сайта. Однако в таком асинхронном задании невозможно создать абсолютные URL-адреса, используя routes.MyPage.myTemplate().absoluteURL()
, поскольку нет контекста HTTP.Абсолютные URL-адреса в Play Framework (Java) без контекста HTTP
Каков рекомендуемый шаблон для получения абсолютных URL-адресов вне контекста HTTP? Для тестов было бы create a "fake" HTTP context, но я не считаю, что это правильный путь к вещам в производстве?
И как мне получить «хозяин»? – plade
Я решил это, установив хост в файл конфигурации. Вы можете получить имя хоста компьютера, но я бы пошел, установив его в 'application.conf' – adis
OK; это было единственное решение, которое я мог бы придумать. Я думал, что может быть какой-то причудливый способ получить имя хоста, но я думаю, что сервер не может знать свой собственный адрес, если нет HTTP-контекста. – plade