The direct responsibility of the controllers is to receive data from the request and send it to other parts of the system. Only in this case, the controller is "thin" and is intended only as a bridge (glue layer) between the individual components of the system.
Let's look at the following recommendations for working with controllers:
Thus, in one statement:
We need smart models, thin controllers, ...