Dispatch 建立在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
我经常发现 Dispatch 文档很难遵循。有关所有各种调度运算符的快速概述,请参阅:调度运算符周期表
如果您询问如何构建 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
是 Dispatch 的一部分,并调用setMethod
底层RequestBuilder
. 有关详细信息,请参阅dispatch.MethodVerbs 。