scala – Playframework WS API响应处理
发布时间:2020-12-16 08:43:16 所属栏目:安全 来源:网络整理
导读:我使用PlayFramework的Play WS API与外部API进行通信. 我需要处理收到的数据,但不知道如何处理.我得到一个响应,我想将它传递给其他函数,如 JSON对象.我怎么能做到这一点? 我用的代码你可以在下面看到. 谢谢! def getTasks = Action { Async { val promise
我使用PlayFramework的Play WS API与外部API进行通信.
我需要处理收到的数据,但不知道如何处理.我得到一个响应,我想将它传递给其他函数,如 JSON对象.我怎么能做到这一点? 我用的代码你可以在下面看到. 谢谢! def getTasks = Action { Async { val promise = WS.url(getAppProperty("helpdesk.host")).withHeaders( "Accept" -> "application/json","Authorization" -> "Basic bi5sdWJ5YW5vdjoyMDEzMDcwNDE0NDc=" ).get() for { response <- promise } yield Ok((response.json "Tasks")) } } 解决方法
我不确定我理解你的问题,但我猜你想要在返回客户端之前转换从WS调用中收到的json,并且这个转换可能需要几行代码.如果这是正确的,那么您只需要在yield语句周围添加大括号,这样您就可以对响应做更多的工作: def getTasks = Action { Async { val promise = WS.url(getAppProperty("helpdesk.host")).withHeaders( "Accept" -> "application/json","Authorization" -> "Basic bi5sdWJ5YW5vdjoyMDEzMDcwNDE0NDc=" ).get() for { response <- promise } yield { // here you can have as many lines of code as you want,// only the result of the last line is yielded val transformed = someTransformation(response.json) Ok(transformed) } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |