【问题标题】:Play Framework WS losing unicode chars from external apiPlay Framework WS 从外部 api 丢失 unicode 字符
【发布时间】:2018-03-09 10:12:40
【问题描述】:

我正在开发一个使用 WS 对外部 api 进行异步调用的播放应用程序,但我无法弄清楚为什么我在使用时会丢失 unicode 字符

例如,如果他们的 api 正在生成类似的东西:

   { "title": "Plück, Franke" }

并通过以下方式调用 api:

ws.url("http://example.org/stuff/").get().map { response =>
  println(response.body)
  Ok....

将打印以下内容:

{ "title":"Plück, Franke" }

我正在尝试查找是否需要将标头参数传递给 WSRequest 对象以保留字符集? setContentType 方法的WSRequest documentation 声明

"设置内容类型。如果请求体是String,并且没有charset 如果包含参数,则默认为 UTF-8。”

我错过了什么?

谢谢! 啊

【问题讨论】:

  • 准确指出lib版本并粘贴带有标题的请求转储
  • 响应的实际编码是什么?响应中是否有Content-Type 标头,是否有编码值?
  • 我使用的是 2.6.3:响应中没有编码值,Map(Date -> Buffer(Wed, 27 Sep 2017 20:15:56 GMT),Server -> Buffer( Jetty(8.1.5.v20120716)), Content-Type -> Buffer(application/json), Cache-Control -> Buffer(private, must-revalidate, max-age=0), Content-Length -> Buffer(9822 ), X-Content-Type-Options -> 缓冲区(nosniff))

标签: scala playframework playframework-2.0


【解决方案1】:

这是我正在使用的 Play 版本 (2.6.3) 中的一个错误,我升级到 2.6.7 并且一切都得到了修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-24
    相关资源
    最近更新 更多