【问题标题】:WS - Setting string in request headers creates a listWS - 在请求标头中设置字符串会创建一个列表
【发布时间】:2018-03-13 09:45:33
【问题描述】:

可能标题不够明确。

我正在使用 scala PlayFramework 2.3 和 WS 库向其他网站发送请求。

我的问题是当我登录时

WS.url(url).withHeaders("OAuth-Token" -> token).headers()

我明白了

Map(OAuth-Token -> List("5ad12543-fed8-4df6-8830-c97030caee09"))

这不起作用,因为尽管token 是一个简单的字符串,但令牌被设置在一个列表中。

有没有办法在不升级 Play 版本甚至不使用 WS 库的情况下做一些事情?

【问题讨论】:

  • 你为什么不试试.headers.get("OAuth-Token")这不会给你一个列表。
  • 它现在提供了一个 Option[List]。我认为问题在于 .withHeaders 方法将字符串格式化为列表

标签: scala playframework playframework-2.3


【解决方案1】:

所以我终于解决了。 问题是在我的标题中是:

OAuth-Token: "5ad12543-fed8-4df6-8830-c97030caee09"

引用没有理由在这里。

当我解析token的json数据时,我做到了:

val token = (res.json.as[JsObject] \ "access_token").toString()

应该是:

val token = (res.json.as[JsObject] \ "access_token").as[String]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-19
    • 2012-08-06
    • 2016-10-02
    • 1970-01-01
    • 2017-12-16
    • 2013-05-25
    • 2020-12-22
    相关资源
    最近更新 更多