3

我用 Play 1.2 创建了几个大型后端 API。现在我已经为自己创造了一些空闲时间,我有兴趣尝试对 Play 2 做同样的事情。但是,似乎所有教程示例项目都只提供了处理表单数据的用例。

当我说仅后端 API 时,我指的是不会呈现任何人类可读的视图的东西。更具体地说,例如,移动应用程序的后端服务。它的大部分响应将被格式化为 JSON 数据。

我知道文档显示了如何解析 JSON 请求,但它似乎仍然是一个例外。我意识到我可能完全弄错了,但我觉得奇怪的是,Play 的所有示例似乎都使用表单数据与控制器交互,而不是外部调用。

Play 2 仍然是这个用例的正确选择吗?如果是这样,是否有任何好的示例项目或教程?

4

2 回答 2

5

Play for Scala有一整章(第 8 章)专门讨论这个主题(在构建单页 Web 应用程序的上下文中)。一项技术是否“适合”特定需求是一个判断问题,但毫无疑问,Play 支持 REST API 用例。

Play 具有用于读取、验证和写入 JSON 的复杂机制(具有各种自定义格式功能)。您还拥有异步反应式编程的典型 Play 优势,可以扩展到大量客户端

唯一真正棘手的事情是如果这很重要,您如何处理身份验证。

于 2013-10-22T14:49:00.790 回答
0

Play for Java第 6 章给出了 JSON 使用的指导。

JSON 的使用应该非常简单且可插拔。Jackson 或 GS​​ON,您的选择,使用正文解析器,您将获得 JSON 演示,并可以直接返回 JSON 流。逻辑由你决定。

@BodyParser.Of(BodyParser.Json.class)
  public static Result index() {
  RequestBody body = request().body();
 return ok("We expected to get json: " + body.asJson());
}

使用正文解析器很容易,因此 java 在这里也可以正常工作,但 Scala 似乎具有非常简洁的功能,如果您愿意的话,它可以为您提供一些 JSON 超能力。

作为旁注:我个人曾尝试在后端 API 的 HTTP+XML+Smooks Transformations+JPA 处使用方法,结果如注释here

于 2013-10-23T07:40:20.353 回答