Chapter 3 Example 4: dependency injection, POST example and automatic validation