Когда мы используем Play Framework Action Composition, мы можем напрямую использовать аннотацию @With
, так как explained here. В качестве альтернативы мы можем определить custom action annotations.Если мы можем непосредственно выполнить композицию действий, используя @With annotation, то зачем нам создавать пользовательские аннотации с использованием интерфейсов?
Но каковы преимущества определения собственных аннотаций? Это похоже на то, что мы просто добавляем среднего человека (интерфейс).
И еще одно сомнение: при реализации класса действия мы используем generics для указания соответствующего интерфейса. Это просто потому, что Play безопасен по типу? В документах, которые они упомянули, «Определение действия получает аннотацию как конфигурацию». Это просто потому, что мы можем настроить с помощью пользовательских аннотаций?