我想发布到一个 URL,设置查询参数和标题,并在正文中传递一个原始字符串。然后我想做请求并获取输出字符串,以便我可以将其转换为 JSON。我还希望异常处理能够响应不同类型的错误(并处理重定向)
但是 Dispatch 0.9 的文档记录很差,使用文档版本破坏 API 并且非常古怪,所以我无法提出完整的解决方案。我完全被卡住了,因此我要求很多。
这就是我能想到的,但是设置查询参数很奇怪:
val solr = host("localhost", 8983)
val req = solr / "update" / "json"
setQueryParameters( Map( "commit" -> "true"))
setHeader( "Content-type", "application/json")
setBody( a)
但是设置查询参数给了我一个严重的错误:
<console>:14: error: type mismatch;
found : scala.collection.immutable.Map[java.lang.String,java.lang.String]
required: com.ning.http.client.FluentStringsMap
val req = solr / "update" / "json" setQueryParameters( Map( "commit" -> "true"))
请帮助完全设置请求:HTTPS、重定向、查询参数、标头和 POST 方法。
还有助于(同步地,我希望这样)执行请求以获取正文(和标头)并根据响应代码(200、301、302、400、500)进行分支。