5. Content
What are we building?
REST Refresh
Persistence
Building the API
ScalikeJDBC in Action
Fielding constraints
Recommendation
Play Framework Amsterdam @ItsMeijers
6. What are we building?
Simple non-blocking REST API for managing work hours
Consists of 3 models connected to a relational database
(CRUD)
Employee
Project
TimeEntry
Play Framework Amsterdam @ItsMeijers
7. What are we building?
Play Framework Amsterdam @ItsMeijers
8. REST & The Fielding Constraints
0. Client Server
1. Statelessness
2. Cacheable
3. Layered system
4. Uniform interface
5. Code on demand (optional)
Play Framework Amsterdam @ItsMeijers
10. ScalikeJDBC-Async
Tidy SQL-based DB access library for Scala
Cool QueryDSL (EDSL)
Play Framework support!
Non-blocking
* Experimental (although production ready)
Play Framework Amsterdam @ItsMeijers
35. Use a hypermedia format
HAL - github.com/restfulscala/HALselhof
Siren - github.com/yetu/siren-scala
Documentation: Swagger.io
Slick
Monad Transformers
Recommendations
Play Framework Amsterdam @ItsMeijers
36. Thomas Meijers - @ItsMeijers
Thank you
Questions?
Lunatech is hiring!
val yourName: Future[AwesomeJob] = withSQL{ select.job.from(Lunatech) }