调度建立在Async Http Client之上。因此,myRequest
在例如:
val myRequest = url("http://example.com/some/path")
是com.ning.http.client.RequestBuilder。
调用POST
方法RequestBuilder
将请求转换为POST请求。这就是正在发生的事情在myPost
例如:
def myPost = myRequest.POST
我经常发现调度文档难走。对于所有不同的调度运营商的快速概述,请参阅:Periodic Table of Dispatch Operators
如果你问如何建立一个POST请求,并添加自定义表单参数,你可能想使用<<(values)
操作是这样的:
val params = Map("param1" -> "val1", "param2" -> "val2")
val req = url("http://www.example.com/some/path" <<(params)
同样,如果你想添加一些自定义页眉,你可以使用<:<(map)
操作是这样的:
val headers = Map("x-custom1" -> "val1", "x-custom2" -> "val2")
val req = url("http://www.example.com/some/path" <<(params) <:<(headers)
更新:其实,有没有POST
方法RequestBuilder
。致电POST
是调度的一部分,并调用底层RequestBuilder
上的setMethod
。有关更多详细信息,请参阅dispatch.MethodVerbs。
我认为这是相反的:<:<添加标题,<<表单参数。 –
@Alex,我很确定我是对的。但是你的评论是我不喜欢所有那些疯狂派遣运营商的原因之一。 :-)在某些情况下,我认为直接调用'RequestBuilder'上的方法会更清楚,比如:'req.addHeader(“x-custom1”,“val1”)'。 – user24601