Вы заинтересовались, поэтому я начал изучать код (нажмите, чтобы увидеть соответствующие функции непосредственно в github).И я согласен, что играть!документация далека от завершения :), на самом деле код может принести пользу еще нескольким javadocs!
Еще несколько тестов
В любом случае, это может быть ошибка ... или неправильное использование!пару тестов, которые вы должны сделать:
Одна вещь, которую вы должны попробовать, это абсолютная запись шаблона: @@{…}
.Большую часть времени вам не нужно менять URL в вашем коде, только в шаблонах.Это правильно или нет?
Вы пробовали Router.reverse("action", true)
?
И что произойдет, если вы получите прямой доступ к URL "localhost: 9000" из браузера, со всеми различными "абсолютными"варианты?
Код
В коде 1.2.4:
String getFullUrl(...)
просто равен getBaseUrl() + actionDefinition=reverse(...)
и String getBaseUrl()
определяется как application.baseUrl
ТОЛЬКО ЕСЛИ нет запроса - в противном случае он использует Http.Request.current().getBase()
.
ActionDefinition.absolute
использует набор переменныхиз результата reverse
.
В 1.2.3 код:
reverse
absolute
Тег @@
в основном использует :
private String __reverseWithCheck(String action, boolean absolute) {
return Router.reverseWithCheck(action, Play.getVirtualFile(action), absolute);
}
с абсолютным значением true, то есть прямым обратным вызовом (action, absolute = true)но получаю строку, а не ActionDefinition
Выводы
Может быть, кто-нибудь из разработчиков игр вмешается ... но я попытался немного помочь и учиться в процессе :) Я позволювы вступаете в полные детали сравнения двух забавныхно у них совсем другой подход к доставке пресса.URL ...