私はRest APIを書いていますが、さまざまなバージョンのサポートをどのように処理するのが最善か疑問に思っています。これにより、URIをV2またはV3として定義する方法を意味するのではなく、必要なコードを構成する方法を意味します。
- 同時に複数のバージョンをサポートします。V1&V2&V3 URIは同時に有効でなければなりません。一度にサポートされる量を制限するためにV4が来るとV1を廃止します。
- 可能な限りコードの重複を避ける
- 他のバージョンに影響を与えることなく、簡単な変更をバージョンに簡単に追加できます
取れるアプローチはほとんどないと思われます。
Gitを使用してバージョンを制御し、異なるバージョンのブランチを使用します(古いバージョンでは、基本的に新しい開発作業は行われません)。これは、最新バージョンのみがコードに含まれているため、コードの重複がないことを意味しますが、以前のバージョンは、廃止されるまで新しいバージョンのDBで動作する必要があります。
各バージョンが同じアプリケーションで処理され、完全に別個のコードパスを持つようにコードを複製しますが、これは多くの複製を意味します
バージョン間で多くのコードを再利用しますが、1つのバージョンを変更すると以前のバージョンに影響を与える可能性が高くなるため、メンテナンスが難しくなります
すべてのオプションには独自の問題があるように見えるため、この問題に対処するためのベストプラクティスはありますか?