コンテンツにスキップ
AchaduDevelopers
Achadu/Developers/バージョン管理

互換性のある進化、明示的な移行。

メインバージョンは URL にあります。追加の変更は、クライアントを中断することなく v1 に反映されます。互換性のない変更には、新しいバージョンと移行期間が必要です。

v1 で変更される可能性のあるもの

✓
新しいエンドポイント

追加の操作と機能が公開される場合があります。

✓
新しいオプションフィールド

クライアントは、応答内の不明なプロパティを無視する必要があります。

✓
新しいイベント

* の付いたサブスクリプションでは、カタログにタイプを追加できます。

✓
新しい価値観

オープン列挙型は、文書化された状態またはプロバイダーを取得できます。

What requires new version

✓
削除または名前変更

既存のエンドポイント、フィールド、または値がサイレントに消えることはありません。

✓
意味を変える

互換性のないセマンティクス、単位、または形式には新しい契約が必要です。

✓
義務化しましょう

オプションのフィールドは、同じバージョン内では必須にはなりません。

✓
認証の変更

互換性のない認可変更は独自の移行を受けます。

減価償却サイクル

1
お知らせ

変化は、置き換えと影響を伴って歴史に入ります。

2
移住

この 2 つの形式は、情報提供ウィンドウ中に共存します。

3
制作中のお知らせ

文書と回答により、中止された契約が特定されます。

4
終わりに

削除は発表された日にのみ行われます。

回復力のあるクライアントを作成する方法

✓不明な応答フィールドを無視します。
✓不明な列挙型はサポートされていない有効な状態として扱います。
✓Don't depend on the order of JSON properties.
✓SDK から推測されたバージョンではなく、URL からのバージョンを使用してください。
✓生成された顧客を更新する前に履歴を追跡します。