2016-07-11 19 views
0

Die HTTP-Weiterleitung unten (futureResponse-Funktion) gibt eine leere Antwort an den Browser zurück. Irgendwelche Ideen, was ist falsch und/oder wo sollte ich schauen?Weiterleitung in Play für Scala gibt leere Antwort zurück

val request: WSRequest = ws.url("http://somehost/url2") 
    val request2: WSRequest = request.withHeaders("Accept" -> "application/json") 
    val data = Json.obj(
     "aaa" -> some_data1, 
     "bbb" -> some_data2 
    ) 
    val futureResponse: Future[JsValue] = request2.post(data).map { 
    response => 
     val json= Json.obj(
      "ccc" -> "111", 
      "ddd" -> "222" 
      ) 
     json 
    } 

    Ok(json) 

Als ich die Nachricht im Browser zu erhalten, sind die Daten in der Antwort leer:

enter image description here

+0

Es hängt hauptsächlich davon ab, was Sie tun mit was auch immer Sie von diesem zurückkommen. – mfirry

+0

Alles, was ich brauche, ist, in den Browser zurückzukehren, den Json in der Zukunft erhalten hat, immer im JSON-Format. – ps0604

+0

Ich habe die Frage aktualisiert, bitte werfen Sie einen Blick auf – ps0604

Antwort

1

die Aktion asynchronen Tätigen und Zukunft [Ergebnis] antworten, wie:

def someAction = Action.async { implicit request => 
    val request: WSRequest = ws.url("http://somehost/url2") 
    val request2: WSRequest = request.withHeaders("Accept" -> "application/json") 
    val data = Json.obj(
    "aaa" -> some_data1, 
    "bbb" -> some_data2 
) 
    val futureResponse: Future[JsValue] = request2.post(data).map { response => 
    val json= Json.obj(
     "ccc" -> "111", 
     "ddd" -> "222" 
    ) 

    Ok(json) 
    } 

    futureResponse 
} 
Verwandte Themen