Controllers in Vapor
Controllers in Vapor, like in iOS applications, control the flow of the applications from a user request to the Response. Web applications typically follow a Model View Controller pattern where the request from the user goes to the router, and the router determines which controller and the function inside that controller to trigger to generate a Response. This is similar to user inputs, such as touch events in iOS apps, which trigger the ViewController
to perform actions such as transitioning to another view controller or rendering a new view in the same View Controller.
At the beginning of this chapter, we explored different kinds of routes and how they are handled by a closure function. Now we will learn how to pass a controller class to the route so that the controller can handle one or multiple routes.
RESTful Controller
In most cases, we will be creating controllers that will be responsible for handling requests to create, read, update, or delete a resource. These...