Как я могу повлиять на поведение перенаправления в игровом контроллере?

StackOverflow https://stackoverflow.com/questions/3899670

  •  29-09-2019
  •  | 
  •  

Вопрос

В игре вы всегда следуете Перенаправление-аоттер-пост-паттерн Если вы звоните из общественного метода контроллера. В большинстве случаев это хорошее поведение, но иногда оно может быть противным. Поэтому я попытался выяснить, как это работает в игре 1.1!: Основным является некоторое усиление байтового кода, которое сделано в play.classloading.enhancers.ControllersEnhancer. Анкет Там вы можете обнаружить, что все еще существуют некоторые исключения в поведении по умолчанию:

  1. Если ваш метод аннотируется аннотацией из пакета play.mvc, например, до спины.
  2. Вы аннотируете свои действия с ByPass-Нотация, эта аннотация должна быть внутренним классом, поэтому имя Endswith $ByPass.

Оба решения в порядке, если вы всегда хотите подавить перенаправить. Но что, если вы хотите сделать это только в особой ситуации? Тогда вы можете позвонить ControllerInstrumentation.initActionCall().

Я не нахожу описание об этом, я просто анализирую код. Так правильно ли мой вывод или есть какие -либо недостатки?

Это было полезно?

Решение

Для того, что я знаю, что вы предполагаете, верны.

Тем не менее, за то, что я понимаю, вы хотите, чтобы метод, который заканчивается после выполнения, и ничего не возвращается? Не добавляйте «рендеринг» вызова в конце (или любой звонок на другой метод), и это должно работать. Я использую его для рабочих мест CRON.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top