FormData 正在转换为 JSON
FormData being converted to JSON
我正在尝试 post 使用 Spray
的服务
var authenticationPipeline: HttpRequest => Future[Authentication] = sendReceive ~> unmarshal[Authentication]
我有一个管道设置,它期望 return 一种身份验证(一种情况 class)并将其解组。非常直接。
构造请求时,我尝试使用以下模式。
val fD = FormData(Seq(
"grant_type" -> "authorization_code",
"code" -> authorisation_code,
"redirect_uri" -> "http://www.example.com",
"client_id" -> apiClientId,
"client_secret" -> apiClientSecretKey
))
那我就这样发了。
authenticationPipeline(Post(oauthUrl, fD))
问题是我post访问的服务是return访问不支持的媒体类型错误,经进一步检查,它看起来像 http 实体的 media/content 类型是 json 并且内容是 json 字符串。
我已经通过使用 URLEncode 和 post 通过手动构建 HTTP 请求处理这个原始字符串解决了这个问题,现在的问题是我 运行 遇到了编码问题,它是只是不是很干净的代码。我想我只是不确定为什么这几乎是隐式发生的。
以下链接影响了我的设置方式,但没有提到类似的问题,https://groups.google.com/forum/#!topic/spray-user/JjA2LCLfib8 & Posting application/x-www-form-urlencoded using spray
如能指出我可能做错的地方,我们将不胜感激。如果我遗漏了任何重要信息,请告诉我。
提前致谢!
通过单独测试我的代码,我能够确定我的一个导入引入了隐式 JSON 编组器。通过更具体地处理我的进口,我能够克服这个问题。希望这对以后的人有所帮助!
我正在尝试 post 使用 Spray
的服务var authenticationPipeline: HttpRequest => Future[Authentication] = sendReceive ~> unmarshal[Authentication]
我有一个管道设置,它期望 return 一种身份验证(一种情况 class)并将其解组。非常直接。
构造请求时,我尝试使用以下模式。
val fD = FormData(Seq(
"grant_type" -> "authorization_code",
"code" -> authorisation_code,
"redirect_uri" -> "http://www.example.com",
"client_id" -> apiClientId,
"client_secret" -> apiClientSecretKey
))
那我就这样发了。
authenticationPipeline(Post(oauthUrl, fD))
问题是我post访问的服务是return访问不支持的媒体类型错误,经进一步检查,它看起来像 http 实体的 media/content 类型是 json 并且内容是 json 字符串。
我已经通过使用 URLEncode 和 post 通过手动构建 HTTP 请求处理这个原始字符串解决了这个问题,现在的问题是我 运行 遇到了编码问题,它是只是不是很干净的代码。我想我只是不确定为什么这几乎是隐式发生的。
以下链接影响了我的设置方式,但没有提到类似的问题,https://groups.google.com/forum/#!topic/spray-user/JjA2LCLfib8 & Posting application/x-www-form-urlencoded using spray
如能指出我可能做错的地方,我们将不胜感激。如果我遗漏了任何重要信息,请告诉我。
提前致谢!
通过单独测试我的代码,我能够确定我的一个导入引入了隐式 JSON 编组器。通过更具体地处理我的进口,我能够克服这个问题。希望这对以后的人有所帮助!