加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – Spray客户端 – 将意外内容类型的响应视为application

发布时间:2020-12-16 09:53:52 所属栏目:安全 来源:网络整理
导读:当我尝试获取像这样的亚马逊身份数据 val pipeline: HttpRequest = Future[IdentityData] = sendReceive ~ unmarshal[IdentityData]pipeline(Get("http://169.254.169.254/latest/dynamic/instance-identity/document")) 使用适当的case类和formatter,我收到
当我尝试获取像这样的亚马逊身份数据

val pipeline: HttpRequest => Future[IdentityData] = sendReceive ~> unmarshal[IdentityData]
pipeline(Get("http://169.254.169.254/latest/dynamic/instance-identity/document"))

使用适当的case类和formatter,我收到以下异常

UnsupportedContentType(预期’application / json’)

因为亚马逊将其回复标记为文本/纯文本内容类型.他们也不关心Accept header param.是否有一种简单的方法可以告诉spray-json在解组时忽略它?

解决方法

如果你想从amazon响应中提取一些IdentityData(这是一个带有定义的jsonFormat的case类),这是一个有效的json,但是使用text / plain上下文类型你可以简单地提取文本数据,将它解析为json并转换成你的数据,例如:

entity.asString.parseJson.convertTo(identityDataJsonFormat)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读