Added caching layer

To improve performance, the `ApiDoc` metadata is being cached and automatically invalidated when any of the routing files and related controllers are updated.

Added a few tests for this. Please let me know if they are insufficient and how I can improve them.
same here. you don't need to get the parameter value. It is much better to use the parameter itself in the Definition and let Symfony resolve it later. It is easier to understand