如果已经回答了这个问题,我深表歉意 - 我已经看了看,找不到任何东西。
使用 Play 框架,我定义了两个控制器 - 一个是返回 JSON 的公共 API,另一个是这个 API 的使用者,它将 JSON 呈现为 HTML。例如,我的路线文件如下所示:
GET /foos controllers.App.foos() #produces HTML
GET /api/foos controllers.API.foos() #produces JSON
该项目的一个要求是我们的数据只能通过我们的公共 API 访问。因此,我想实现它的方式是App.foos()
调用API.foos()
,解析 JSON 结果,并将其传递给要呈现的模板。例如:
public App extends Controller {
public static Result foos() {
Result result = API.foos();
// TODO: get the JSON out of the result object
}
}
谁能告诉我如何从结果对象中提取 JSON?我可以使用 Enumerator 获取对象的主体((SimpleResult)result.getWrappedResult()).body()
,但我仍然不清楚如何获取 JSON。
因为我是 Play 框架的新手,也许我正在解决这个问题,并且有更简单/更好的方法来做到这一点?
非常感谢,詹姆斯