【发布时间】:2015-03-18 20:32:45
【问题描述】:
我正在使用 play 来代理来自 ui 的 API 调用。例如 POST:
def post(url: String) = Action { implicit request =>
Async {
WS.url(proxyUrl + request.uri)
.withQueryString(request.queryString.mapValues(_.head).toSeq: _*)
.withHeaders(request.headers.toMap.mapValues(_.head).toSeq: _*)
.post(request.body.asJson).map(response => Ok(response.body))
}
}
但这只能处理“application/json”和“text/json”内容类型。但是现在我想使用自定义内容类型发出请求:“application/vnd.MyCustomType-v1+json;charset=utf-8”,当然它不适用于当前的实现。尝试了不同的解决方案,但似乎没有任何效果。有任何想法吗? 我正在使用播放 2.1
【问题讨论】:
-
我不太明白你的问题以及为什么它“不起作用”。你应该能够做到:
WS.url(...).withHeaders(HeaderNames.CONTENT_TYPE -> "application/vnd.MyCustomType-v1+json;charset=utf-8" ) -
问题是传入的request.body无法解析成json。错误消息:[期望文本/json 或应用程序/json 正文]
标签: scala playframework