{"repo":"reindert-vetter/api-version-control","free":true,"listed":false,"github":"https://github.com/reindert-vetter/api-version-control","clone":"git clone https://github.com/reindert-vetter/api-version-control.git","description":"A Laravel package to manage versions of endpoints in an elegant way","language":"PHP","stars":167,"topics":["laravel","laravel-package","versioning","version-manager","version-control-system","version-control","middleware","endpoint"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"API Version Control A Laravel package to manage versions of endpoints in an elegant way. For news, follow me on Twitter. How to install Two ways to manage the versions of your endpoints Option 1: Version Statement You probably use if statements to determine whether the code should be executed from a particular version. But what do you do if you want to run this code for 2 endpoints, one from version 2 and the other from version 3? This package offers a clean solution for this: Version Statement. Option 2: Version Middleware Legacy code can get in the way quickly. Do you therefore create multiple controllers to separate the old code from the new code? How do you do this if there are 10 versions at a given time? By then, will you also have 10 validation schemes and response classes for each endpoint? This package also offers a SOLID solution that goes even further than Version Statement : Version Middleware. You can use Version Middleware and Version Statement together in one project Benefits Version Statement Version Middleware ---- :----------: :-------------: Upgrading all endpoints or one specific endpoint. ✔️ ✔️ One overview of all versions with the adjustments. ✔️ ✔️ The controller (and further) always contains the latest version. ✔️ Old versions are only defined once. Once made, you don't have to worry about that anymore. ✔️ Note for Version Middleware : If you do not yet use a self-made middleware, you can debug from your controller. With Version Middleware , colleagues","default_branch":null,"files":null,"tree":[],"storefront":"/r/reindert-vetter","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/reindert-vetter/api-version-control/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}