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 вернул бы то же самое.

Какие-нибудь указатели относительно того, что я пропускаю? Спасибо!

0 ответов

Другие вопросы по тегам