Json 播放2作为仅后端API

Json 播放2作为仅后端API,json,scala,playframework,playframework-2.0,Json,Scala,Playframework,Playframework 2.0,我已经用Play1.2创建了两个大型后端API。现在我已经为自己创造了一些空闲时间,我很有兴趣尝试在Play 2上做同样的事情。然而,它似乎是所有的,并且只给出了处理表单数据的用例 当我说仅后端API时,我指的是不呈现任何人类可读的视图的东西。更具体地说,例如,移动应用程序的后端服务。它的大多数响应将被格式化为JSON数据 我知道文档显示了如何解析JSON请求,但似乎这是一个例外。我意识到我可能完全错了,但我只是觉得奇怪,Play的所有示例似乎都使用表单数据与控制器进行交互,而不是使用外部调用进

我已经用Play1.2创建了两个大型后端API。现在我已经为自己创造了一些空闲时间,我很有兴趣尝试在Play 2上做同样的事情。然而,它似乎是所有的,并且只给出了处理表单数据的用例

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

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

Play 2仍然是这个用例的正确选择吗?如果有的话,有什么好的范例项目或教程吗

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

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

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

第6章给出了JSON的使用说明

JSON的使用应该非常简单且可插入。您可以选择Jackson或GSON,使用body parser,您将获得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转换+JPA的方法,结果如注释所示

对于身份验证,我建议使用HMAC,即来自微软Azure或亚马逊AWS的HMAC