Composing Action(BodyParser) с ActionFilter в игровой среде scala
У меня есть игровое приложение и проблемное действие. Я пытаюсь разобрать тело запроса с помощью parse.form
а затем есть ActionFilter
бежать против этого разобранного тела.
Пока что у меня есть что-то вроде этого
object ModelValidationAction extends ActionFilter[Request[MyModel]]{
def filter[A <: MyModel](request: Request[A]) = ???
}
def routePointsHere = (Action(parse.form(myModelForm)) andThen ModelValidationAction) { (request: Request[MyModel]) => ??? }
Однако IDEA дает мне подсказку об ошибке
ожидаемое действие [MyModel] => NotInferredA, фактическое ModelValidationAction.type
и компилятор говорит мне
... отсутствует список аргументов для метода, применяемого в признаке ActionBuilder
[ошибка] Непримененные методы преобразуются в функции только тогда, когда ожидается тип функции. [ошибка] Вы можете сделать это преобразование явным, написавapply _
или жеapply(_)(_)
вместоapply
,
Итак, я могу понять, что проблема заключается в методе apply[A](bodyParser: BodyParser[A])(block: R[A] => Result): Action[A]
вокруг того факта, что этот второй список параметров не заполняется, но я не знаю точно, как язык ведет себя здесь.
Мое (абсолютно необоснованное) предположение, что Action(parse.form(myModelForm))
станет Request[MyModel] => Result
и что ссылаясь andThen
вернул бы то же самое.
Какие-нибудь указатели относительно того, что я пропускаю? Спасибо!