2016-07-11 3 views
0

HTTP-адрес ниже (futureResponse) возвращает пустой ответ браузеру. Любые идеи, что не так и/или где я должен смотреть?Пересылка в Play для Scala возвращает пустой ответ

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) 

Когда я получаю сообщение в браузере, данные в ответ пуст:

enter image description here

+0

В основном это зависит от того, что вы делаете с тем, что вы вернетесь от этого. – mfirry

+0

Все, что мне нужно - это вернуться в браузер, который получил Json в будущем, всегда в формате Json. – ps0604

+0

Я обновил вопрос, пожалуйста, посмотрите – ps0604

ответ

1

Сделать асинхронные действия и ответить на будущее [Результат], как:

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 
}