Scala javascript路由中的可选参数-如何指示无

Scala javascript路由中的可选参数-如何指示无,scala,playframework,Scala,Playframework,我有一个带有可选参数的操作,如下所示: def editLink(storyId: Long, linkId: Long, thumbnail: Option[String], title: Option[String], description: Option[String], hidden: Option[Boolean]) = Action.async { ... } 此操作作为JSRoute公开。我曾假设将null作为参数提供给javascript的javascript路由将映射到Sc

我有一个带有可选参数的操作,如下所示:

def editLink(storyId: Long, linkId: Long, thumbnail: Option[String], title: Option[String], description: Option[String], hidden: Option[Boolean]) = Action.async { ... }

此操作作为JSRoute公开。我曾假设将
null
作为参数提供给javascript的javascript路由将映射到Scala的
None
,但这似乎是不正确的,相反,它将转换为一个文本
“null”
字符串。当从JavaScript中使用此操作时,我如何指示某些查询参数是
None

JavaScript,这种奇妙的语言有两个关键字,通常用于定义缺少的内容
null
是其中之一,
undefined
是另一个。知道当您在函数中省略一个参数时,它会作为未定义的
传递,我认为这是您应该用于可选参数的。例如:

var f = function (param, optionalParam) {
   console.log(optionalParam);
}

f(1, 2); // prints 2
f(1); // prints undefined

我对Play一无所知,但最自然的等价物是
未定义的
,或者根本不精确参数的值。例如,
editLink(17,18,“缩略图”)
@Dici undefined是有意义的。我试试看。如果它有效,你可以把它作为一个答案发布。我会让你知道的,谢谢。@Dici顺便说一句,这很有效。让它作为一个答案?谢谢你让我知道,我贴了一封回信