def MakeRequest(method:String,url:String, data : Map[String,String]) = {
route(FakeRequest(method,url).withHeaders("X-Requested-With" -> "1").withFormUrlEncodedBody(data)).get
}
错误发生在withFormUrlEncodedBody(data)。它表示expect(String,String),actual:Map [String,String]。究竟是什么(String,String)数据类型?
我使用data:(String,String)
但输入只接受1个映射。它会接受muptiple映射。以下代码无需传递参数即可运行:
route(FakeRequest(method,url).withHeaders("X-Requested-With" -> "1").withFormUrlEncodedBody("a" -> "b", "c" -> "d")).get
答案 0 :(得分:1)
如果您查看documentation,则会看到此类型为(String, String)*
。首先(T1,T2)
代表Tuple2[T1,T2]
。其次,*
代表可变长度参数,这意味着它接受您要发送的Tuple2
个List
。这可以是Seq
或其他类型的def MakeRequest(method:String,url:String, data : (String,String)*) = {
route(FakeRequest(method,url)
.withHeaders("X-Requested-With" -> "1")
.withFormUrlEncodedBody(data:_*)).get
}
因此,以您的原始示例为例,您可以执行以下操作:
{{1}}