Согласно тегам модификатора маршрута
Обратите внимание, что атрибут запроса HandlerDef
существует только при использовании маршрутизатора, сгенерированного Play из файла routes
. Этот атрибут не добавляется, когда маршруты определены в коде, например, с использованием Scala SIRD или Java RoutingDsl
. В этом случае request.attrs.get(HandlerDef)
вернет None
в Scala или null
в Java. Помните об этом при создании фильтров.
Следовательно, если вы используете файл routes
, тогда Router.Attrs.HandlerDef
всегда должен быть доступен. В качестве сокращения вместо
val handlerDef: HandlerDef = request.attrs.get(Router.Attrs.HandlerDef).get
вы можете использовать apply
сахар, например,
val handlerDef: HandlerDef = request.attrs(Router.Attrs.HandlerDef)