播放2作为仅后端API

时间:2013-10-22 14:41:29

标签: json scala playframework playframework-2.0

我使用Play 1.2创建了几个大型后端API。现在我已经为自己创建了一些空闲时间,我有兴趣尝试对Play 2执行相同操作。但是,似乎所有tutorialssample projects仅提供用于处理表单的用例数据。

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

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

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

2 个答案:

答案 0 :(得分:5)

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

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

唯一真正棘手的问题是如何处理身份验证。

答案 1 :(得分:0)

Play for Java第6章给出了JSON用法的说明。

JSON的使用应该非常简单且可插拔。杰克逊或GSON,你的选择,身体解析器,你将获得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