我使用Play 1.2创建了几个大型后端API。现在我已经为自己创建了一些空闲时间,我有兴趣尝试对Play 2执行相同操作。但是,似乎所有tutorials和sample projects仅提供用于处理表单的用例数据。
当我说只有后端的API时,我指的是一些不会呈现人类可读的视图的东西。更具体地,例如,对移动应用程序的后端服务。它的大多数响应都将格式化为JSON数据。
我知道文档显示了如何解析JSON请求,但看起来似乎仍然是一个例外。我意识到我可能完全错了,但我发现奇怪的是Play的所有示例似乎都使用表单数据与控制器交互而不是外部调用。
Play 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。