§Main concepts for Scala
This section introduces you to the most common aspects of writing a Play application in Scala. You’ll learn about handling HTTP requests, sending HTTP responses, working with different types of data, using databases and much more.
Note: The Play APIs for Scala and Java are separated into different packages. All the Scala APIs are under the
play.api
package; all the Java APIs are underplay
. For example, the Scala MVC API is underplay.api.mvc
and the Java MVC API is underplay.mvc
.
HTTP programming
- Actions, Controllers and Results
- HTTP Routing
- Manipulating results
- Session and Flash scopes
- Body parsers
- Actions composition
- Content negotiation
- Handling errors
Asynchronous HTTP programming
The Twirl template engine
Form submission and validation
Working with Json
- JSON basics
- JSON with HTTP
- JSON Reads/Writes/Format Combinators
- JSON automated mapping
- JSON Transformers
Working with XML
Handling file upload
Accessing an SQL database
Using the Cache
Calling WebServices
Integrating with Akka
Internationalization
Dependency injection
Application Settings
Testing your application
- Testing your Application
- Testing with ScalaTest
- Writing functional tests with ScalaTest
- Testing with specs2
- Writing functional tests with specs2
- Testing with Guice
- Testing with databases
- Testing web service clients
Logging
Next: HTTP programming
Found an error in this documentation? The source code for this page can be found here. After reading the documentation guidelines, please feel free to contribute a pull request. Have questions or advice to share? Go to our community forums to start a conversation with the community.