Scala Can';t在不指定参数类型的情况下使用块请求编译控制器操作

Scala Can';t在不指定参数类型的情况下使用块请求编译控制器操作,scala,playframework,Scala,Playframework,正如Play 2.6的文档所解释的,您应该能够以这种方式使用参数块定义动作 class HomeController @Inject() (cc: ControllerComponents, system: ActorSystem)(implicit exec: ExecutionContext) extends AbstractController(cc) { def action = Action { request => ... 不幸的是,我的IDE抱怨“无法解决方法操作应用”。作

正如Play 2.6的文档所解释的,您应该能够以这种方式使用参数块定义动作

class HomeController @Inject() (cc: ControllerComponents, system: ActorSystem)(implicit exec: ExecutionContext) extends AbstractController(cc) {
def action = Action { request => ...
不幸的是,我的IDE抱怨“无法解决方法操作应用”。作为一种解决方法,我必须像这样指定请求的类型:

def action = Action {(request: Request[AnyContent]) =>
但我还是不明白为什么(顺便说一句,我对scala很陌生)。非常感谢你帮助我理解这个谜题


scala 2.12.2 play 2.6.1

错误可能是“无法解决使用此类签名应用的方法操作”也可以请您包含完整的错误消息吗?我不想重现您的错误。您不会遇到
Action.async(parse.default){request=>???}
的问题,但是
Action(parse.default){request=>???}
的问题仍然存在,我注意到了第2.6集的这个变化。无法找出在同步操作的情况下推理不起作用的原因。在我看来,这似乎是由于方法重载而导致的编译器混乱之一。奇怪的是,其中一个重载的apply方法应该会处理这一问题——部分函数的返回类型是什么?Request[AnyContent]=>?错误可能是“无法解决使用此类签名应用的方法操作”另外,请您提供完整的错误信息,我不会重复您的错误。您不会遇到
Action.async(parse.default){request=>???}
的问题,但是
Action(parse.default){request=>???}
的问题仍然存在,我注意到了第2.6集的这个变化。无法找出在同步操作的情况下推理不起作用的原因。在我看来,这似乎是由于方法重载而导致的编译器混乱之一。奇怪的是,其中一个重载的apply方法应该会处理这个问题——部分函数的返回类型是什么?Request[AnyContent]=>