§播放教程
Play 的文档展示了可用的功能以及如何使用它们,但文档不会展示如何从头到尾创建一个应用程序。这就是教程和示例的用武之地。
教程和示例对于展示一个正在运行的应用程序非常有用,尤其是在与数据库或 Javascript 框架等其他系统集成时。
在 play-samples GitHub 仓库 中提供了 Play 示例,涵盖了大量案例。在那里,您可以找到 Java、Scala 和多个 Play 版本的项目。您可以选择一个展示您感兴趣的功能的项目。请确保您已验证 运行 Play 的要求。您可以克隆 play-samples GitHub 仓库 或下载其内容 作为 zip 文件。这些示例涵盖以下主题:
§Java
示例 | |
---|---|
Play Java Hello World 示例 | 链接 |
Play Java 启动器示例 | 链接 |
Play Java gRPC 示例 | 链接 |
REST API 示例 | 链接 |
文件上传示例 | 链接 |
表单示例 | 链接 |
JPA 示例 | 链接 |
Ebean 示例 | 链接 |
Websocket 示例 | 链接 |
使用 Websockets 的聊天室示例 | 链接 |
流示例 | 链接 |
编译时依赖注入示例 | 链接 |
使用 Dagger 2 进行编译时 DI | 链接 |
§Scala
示例 | |
---|---|
Play Scala Hello World 示例 | 链接 |
Play Scala 启动器示例 | 链接 |
Play Scala gRPC 示例 | 链接 |
REST API 示例 | 链接 |
文件上传示例 | 链接 |
表单示例 | 链接 |
Anorm 示例 | 链接 |
集成 Slick 示例 | 链接 |
隔离 Slick 示例 | 链接 |
Websocket 示例 | 链接 |
使用 Websockets 的聊天室示例 | 链接 |
流示例 | 链接 |
编译时依赖注入示例 | 链接 |
使用 Macwire 的依赖注入示例 | 链接 |
安全会话示例 | 链接 |
TLS 示例 | 链接 |
§第三方教程和模板
Play 社区还提供了一些教程和模板,它们比文档更全面地涵盖了 Play 的各个方面,或者从不同的角度进行了解释。这里列出的模板不受 Play 团队维护,因此可能已过时。
这是一个不完整的、包含多个有用博客文章的列表。由于其中一些博客文章已经写了一段时间,因此本节按 Play 版本进行组织。
§2.8.x
§Play Framework 教程和其他内容
- Play Framework 中的表单教程:在本教程中,您将学习如何在 Play Framework 中处理表单,包括错误处理和使用 Twirl 模板引擎进行显示。
- 在 Play Framework 中构建 REST API: 本文展示了如何使用 Play Framework 和 Java 创建一个应用程序,该应用程序使用 `GET`、`POST`、`PUT` 和 `DELETE` API 进行 CRUD 操作。
- 在 Play Framework 中处理异常和错误: 本教程介绍了如何在 Play Framework 中处理异常,以便向客户端发送正确的返回码,以及包含有关错误的必要信息的响应主体。
§2.6.x
§Play Framework 教程和其他内容
- 在 GraalVM 上运行 Play: Play 的核心贡献者 Christian Schmitt 解释了如何使用 GraalVM 运行 Play 应用程序,以及在 Play 中使用 GraalVM 的挑战和优势。
- Play Framework 入门: 这张 DZone 的参考卡以简明扼要但信息丰富的形式展示了 Play 的最基本概念。
- Play:缺失的教程: 在本教程系列中,Shekhar Gulati
展示了如何构建一个名为 blogy 的博客平台,您可以使用它来撰写和发布博客。 - 我们使用 Play Framework 和 Kotlin 的冒险: 本文由 Antonio López Marín 为 Karumi 撰写,详细介绍了使用 Kotlin 语言编写 Play 应用程序所需的步骤。
- 使用 OIDC 和 Okta 将身份验证添加到 Play Framework: Matt Raible 展示了使用 play-pac4j 将 Play 与现代身份验证机制(如 OpenID Connect)集成是多么容易。
- 使用 Play 框架和 Java 创建 REST API: 本文展示了如何使用 Play 框架和 Java 创建一个应用程序,并使用
GET
、POST
、PUT
和DELETE
API 进行 CRUD 操作。 - 使用 Play 框架创建 RESTful API - 第 1 部分 & 使用 Play 框架创建 RESTful API - 第 2 部分: 在这个两部分的教程中,Mercedes Wyss 介绍了如何使用 Play 框架设置开发环境,如何在机器上运行 Play,以及如何创建 RESTful API 并探索如何在代码中处理 JSON。
- 在 Play 应用程序中创建表单 - 第 1 部分 & 在 Play 应用程序中创建表单 - 第 2 部分: Pedro Rijo 从基本示例到高级示例,展示了 Play 在处理 HTML 表单时提供的助手,如何验证一些输入,以及 Play 如何处理这些输入错误。
- React 与 Play 框架 2.6.x: Yohan Gomez 解释了在集成 React 和 Play 时不同方法的优缺点,以及如何在使用两者时构建项目。Java 和 Scala 都有种子项目。
- Angular 6 与 Play 框架 2.6.x: Yohan Gomez 再次解释了如何将 Play 与现代前端框架集成,但这次是与 Angular 6。Java 和 Scala 都有种子项目。
- Play 框架的国际化: Teena Vashist 演示了如何使用 Play 框架 2.6 使您的应用程序支持不同的语言。
- 在 Play 框架中使用 Action 进行身份验证: Geetika Gupta 演示了如何使用 Action 组合来处理 Play 应用程序中的身份验证。
- 使用 Akka Streams 和 Slick 在 Play 框架中从 PostgreSQL 流式传输数据: 在这篇博文中,Sidharth Khattri 解释了如何使用 Scala Slick(Scala 的数据库访问/查询库)和 Akka Streams 直接从 PostgreSQL 数据库流式传输数据。
- 使用 Akka Streams(通过 Alpakka)将文件流式传输到 AWS S3(在 Play Framework 中): 在这篇博文中,Sidharth Khattri 解释了如何使用 Alpakka 的 AWS S3 连接器 将文件从客户端(例如:浏览器)流式传输到 Amazon S3。
§2.5.x
§Play Framework 教程视频系列
Radix Code 提供的教程视频系列对 Play 进行了初步概述,涵盖了初始 IDE 设置、定义路由、创建 CRUD 应用程序、启用 ORM 支持以及使用 Bootstrap 自定义视图。
- 在 IntelliJ IDE 中调试 Play 应用程序
- 在 Eclipse IDE 中调试 Play 应用程序
- 路由工作原理
- 在 Play 中添加对 MySQL 的支持
- 包含 Bootstrap 和 jQuery
- 表单验证
- 创建自定义错误页面
§依赖注入
- 在 Play Framework 中使用 Scala 进行依赖注入,作者:Krzysztof Pado。
§Akka Streams
- Play Framework 2.5 中的 Akka Streams 集成,作者:Loïc Descotte。
- 使用 Akka Streams 和 Twitter,作者:Loïc Descotte。
§表单和验证器
§REST API
- Play API REST 模板,作者:Adrianhurt: 展示了如何实现一个完整的 Json RESTful API,它具有身份验证令牌、分页、过滤、排序和搜索以及可选的封装等特性。
§子项目
- Play 多域种子,作者:Adrianhurt: 尝试为一个简单的多域项目(www.myweb.com 和 admin.myweb.com)提供一个骨架。它向您展示了如何为此使用子项目以及如何共享通用代码。它还准备与 Webjars、CoffeeScript、LESS、RequireJS、资产 Gzip 和资产指纹一起使用。有关更多详细信息,请查看自述文件。
- Play 多域身份验证,作者:Adrianhurt: 这是 play-multidomain-seed 项目的第二部分。该项目尝试举例说明如何使用 Silhouette 身份验证库实现身份验证和授权层。它还使用 Play-Bootstrap 来简化模板搭建。
§升级
- 从 Play 2.3 升级到 Play 2.5,作者:Gregg Hernandez: 了解如何处理升级到 Play 2.5 时遇到的常见问题,包括维护旧版行为、过渡到 Akka Streams 以及实现编译时依赖注入。
§2.4.x
§Semisafe
Semisafe 有一系列关于 Play 的优秀教程
§Minimal Play
- 38 行代码的 Play 应用,由 Lloyd Chan 撰写,展示了 Play 应用的“Sinatra”风格。
§依赖注入
- Playframework 2.4 依赖注入 (DI),由 Marius Soutier 撰写。
- 依赖注入测试,由 Michael Pollmeier 撰写。
- Play 2.4 的编译时依赖注入,由 Loïc Descotte 撰写。
§REST API
SPR Consulting 的 Justin Rodenbostel 还撰写了两篇关于在 Play 中构建 REST API 的博文
§Slick
- Play 框架、Slick 和 MySQL 教程,由 Pedro Rijo 撰写。
§RethinkDB
§表单
- 如何在 Play 应用中添加表单,由卫报的 Chris Birchall 撰写。
§AngularJS、RequireJS 和 sbt-web
Marius Soutier 有一系列关于使用 AngularJS、Play 和 sbt-web 设置 Javascript 界面的优秀教程。它最初是为 Play 2.1.x 编写的,但已更新为 Play 2.4.x。
§React JS
- 使用 Play、Scala 和 WebJars 的 ReactJS 教程 由 Fabio Tiriticco 撰写。
- 使用 ReactJS、Play 2.4.x、Scala 和 Anorm 渲染 UI 的基本示例 由 Knoldus 撰写 / activator 模板.
§2.3.x
§REST API
- 玩转 Play Framework 2.3.x:REST、管道和 Scala 由 Sampson Oliver 撰写。
§Anorm
Knoldus 有一系列关于 Anorm 的精彩博文
- 员工自助服务 - 使用 Anorm SQL 数据访问构建响应式 Play 应用程序 - (第 1 部分)
- 员工自助服务 - 使用 Anorm SQL 数据访问构建响应式 Play 应用程序 - (第 2 部分)
- 员工自助服务:使用 Play Framework 和 Anorm 进行响应式和非阻塞数据库访问 - (第 3 部分)
- 员工自助服务:使用 Play Framework 和 Anorm 进行响应式和非阻塞数据库访问 - (第 4 部分)
§表单
- 包括多个复选框和选择的示例表单 由 Philip Johnson 撰写。
- Play 中的 UX 友好条件表单映射 由 Nick Tune 撰写。
§2.2.x
§高级路由
- Play Framework 中的高级路由 由 James Roper 撰写。
- Play 路由 - 第 1 部分,基础 由 Marius Soutier 撰写。
- Play 路由 - 第 2 部分,高级用例 由 Marius Soutier 撰写。
§路径绑定
- 如何在 Play 2 中实现自定义路径绑定 由 Julien Richard-Foy 撰写。
§模板
- Play Framework 2.0 模板 - 第 1 部分,参数 由 Marius Soutier 撰写。
§用户界面
- 使用 Play 2 创建无样板代码的复合用户界面 由 Julien Foy 撰写。
§Play 实践
- Play 实践 由 Will Sargent 撰写。
下一步:使用 Play
发现此文档中的错误?此页面的源代码可以在 此处 找到。在阅读 文档指南 后,请随时贡献拉取请求。有疑问或建议要分享?前往 我们的社区论坛 与社区开始对话。