【问题标题】:Scala Play FrameworkScala Play 框架
【发布时间】:2017-01-05 09:18:27
【问题描述】:

如何从端点获取响应体?我正在向 Endpoint 发送请求,我想知道如何获取响应字符串。

    val complexRequest = ws.url(serviceEndpoint).withHeaders("Content-Type" -> "application/xml")
    val result = complexRequest.post(leadXml).map { response =>
      logger.info(s"response $response")
      if (response.status == 200) {
        val res = response
        logger.info(s"status passed.. $res")
      }
      else {
        val res = response
        logger.info(s"status failed.. $res")

      }
    }

【问题讨论】:

  • 这是测试代码还是在控制器内部?
  • 它在服务内部,现在我得到了响应。我已经通过承诺将响应返回给控制器。

标签: scala playframework response


【解决方案1】:

response.body你也可以使用 PlayJson 来验证它,并把它变成一个可行的对象!

【讨论】:

    【解决方案2】:

    你可以使用 Helper 类

    import play.api.test.Helpers._
    val result: Future[SimpleResult] = …
    val bodyAsBytes: Array[Byte] = contentAsBytes(result)
    

    或 JavaResultExtractor

        akka.util.ByteString body = play.core.j.JavaResultExtractor.getBody(result, 10000l, mat);
    

    JavaBodyPartser

    https://www.playframework.com/documentation/2.5.x/JavaBodyParsers

    【讨论】:

      猜你喜欢
      • 2019-04-11
      • 2016-08-17
      • 2016-07-08
      • 1970-01-01
      • 1970-01-01
      • 2013-11-05
      • 2012-02-20
      • 2015-10-19
      • 2016-09-08
      相关资源
      最近更新 更多