Grundsätzliche Verwendung von Dispatch 0.9

Ich möchte einen POST an eine URL senden, Abfrageparameter und -header festlegen und eine unformatierte Zeichenfolge im Text übergeben. Ich möchte dann die Anfrage machen und den Ausgabe-String bekommen, damit ich ihn in JSON konvertieren kann. Ich möchte auch, dass die Ausnahmebehandlung auf verschiedene Arten von Fehlern reagiert (und Weiterleitungen behandelt).

Aber Dispatch 0.9 ist schlecht dokumentiert, bricht die API mit dokumentierten Versionen und ist sehr eigenwillig, so dass ich keine vollständige Lösung finden kann. ich binfestgefahrenDeshalb bitte ich um viel.

Das ist alles, was ich mir vorstellen kann, aber das Einstellen der Abfrageparameter ist seltsam:

val solr = host("localhost", 8983)
val req  = solr / "update" / "json" 
    setQueryParameters( Map( "commit" -> "true")) 
    setHeader( "Content-type", "application/json")
    setBody( a)

Das Einstellen der Abfrageparameter führt jedoch zu einem schwerwiegenden Fehler:

<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"))

Bitte helfen Sie beim vollständigen Festlegen der Anforderung: HTTPS, Umleitungen, Abfrageparameter, Header und die POST-Methode.

Helfen Sie auch bei der (synchronen) Ausführung der Anforderung, um den Text (und die Header) abzurufen, und verzweigen Sie je nach Antwortcode (200, 301, 302, 400, 500).

Antworten auf die Frage(2)

Ihre Antwort auf die Frage