Где находится объект Action в play.api. mvc? - PullRequest
0 голосов
/ 12 февраля 2020

Я новичок в Play Framework. Когда я узнаю об этом на своих веб-страницах. Я нашел такой код:

import play.api.mvc._
def logging[A](action: Action[A]) = Action.async(action.parser) { request =>
  logger.info("Calling action")
  action(request)
}

Я проверил его документ, и в ActionBuilder есть функция async.

Как работает Action.async? Кажется, нет объекта Action в play.api.mvc

1 Ответ

1 голос
/ 12 февраля 2020

object Action был удален в Play 2.8 с помощью Удалить устаревший play.api. mvc .Action # 9288 и заменен методом BaseController.Action, который ссылается на в вводится controllerComponents.actionBuilder вместо глобальных объектов

  /**
   * ...
   * This is meant to be a replacement for the now-deprecated Action object, and can be used in the same way.
   */
  def Action: ActionBuilder[Request, AnyContent] = controllerComponents.actionBuilder

Обратите внимание, что, возможно, нетрадиционно, имя метода начинается с заглавной буквы. Я предполагаю, что это было сделано для поддержания привычного использования

def foo(query: String) = Action {
  Ok
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...