scala - 如何设置 Play! 的 POST header 2.0 web服务查询?

标签 scala playframework-2.0

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

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") 实现?

谢谢

最佳答案

找到了!我不得不深入研究 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

关于scala - 如何设置 Play! 的 POST header 2.0 web服务查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11233317/

相关文章:

scala - 在Scala中将所有类都定义为case只是为了使它们的所有参数自动成为属性是否正确?

Scala 空类、对象、特征

scala - 你如何在 Ammonite 中使用本地 maven 仓库?

java - 在 Play framework 2.0 中使用 MySQL 数据库所需的步骤

java - 为什么在单独的线程池中将阻塞操作与非阻塞操作分开是一个更好的主意,而不是在一个线程池中执行所有操作?

scala - java.lang.NoSuchMethodError : scala. Predef$.refArrayOps 在 Spark 作业中使用 Scala

Scala 中的可扩展性

scala - Play 框架 2.1 的 javac 错误

java - Play Framework : PersistenceException: The type is not a registered entity? (Ebean)

scala - 为什么 Play 的 PushEnumerator 需要在迭代器完成之前关闭()?