public ComponentsProvider
Provides all the components used by the implementation of the API.
The code in the API runs with the components provider class as the implicit receiver and can directly access its properties and methods.
For example, if a data store is needed to handle a request, it would be provided by
the ComponentsProvider implementation:
class Components(val dataStore: DataStore) : ComponentsProvider
...
get("/orders/{orderId}") { req ->
val orderId = req.pathParams["orderId"]
dataStore.loadOrderDetails(orderId)
}