2

我正在构建一个 Web 服务请求,该请求将一些数据提交给我们使用的第 3 方服务:

val promise = WS.url("http://example.com/api/xxx/testers?api_key=%s" format(prefineryAPIKey)).post(requestBody)
val data = promise.value.get.body

变量requestBody是 XML 内容,我需要用"Content-Type: text/xml". 如何在网络服务中设置它?它是否像 Play! 通过链接的结果一样工作.as("text/xml")

谢谢

4

1 回答 1

5

找到了!我不得不挖掘 API 文档并解密一些编译器错误,但基本上上面看起来像:

val promise = WS
  .url("http://example.com/api/xxx/testers?api_key=%s" format(prefineryAPIKey))
  .withHeaders("Content-Type" -> "text/xml")
  .post(requestBody)

当您调用 WS 时,您正在组合一个WSRequestHolder. WSRequest 的文档在这里:

http://www.playframework.org/documentation/api/2.0/scala/index.html#play.api.libs.ws.WS$$WSRequestHolder

于 2012-06-27T19:19:41.520 回答