gpt4 book ai didi

scala - Playframework WS API 响应处理

转载 作者:行者123 更新时间:2023-12-01 05:19:34 25 4
gpt4 key购买 nike

我使用 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"))
}
}

最佳答案

I get a response, and I want to pass it to other function like an JSON Object.



我不确定我是否理解您的问题,但我猜您想在返回客户端之前转换从 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)
}
}
}

关于scala - Playframework WS API 响应处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17550063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com