互換性のある進化、明示的な移行。
メインバージョンは URL にあります。追加の変更は、クライアントを中断することなく v1 に反映されます。互換性のない変更には、新しいバージョンと移行期間が必要です。
v1 で変更される可能性のあるもの
新しいエンドポイント
追加の操作と機能が公開される場合があります。
新しいオプションフィールド
クライアントは、応答内の不明なプロパティを無視する必要があります。
新しいイベント
* の付いたサブスクリプションでは、カタログにタイプを追加できます。
新しい価値観
オープン列挙型は、文書化された状態またはプロバイダーを取得できます。
What requires new version
削除または名前変更
既存のエンドポイント、フィールド、または値がサイレントに消えることはありません。
意味を変える
互換性のないセマンティクス、単位、または形式には新しい契約が必要です。
義務化しましょう
オプションのフィールドは、同じバージョン内では必須にはなりません。
認証の変更
互換性のない認可変更は独自の移行を受けます。
減価償却サイクル
1
お知らせ
変化は、置き換えと影響を伴って歴史に入ります。
2
移住
この 2 つの形式は、情報提供ウィンドウ中に共存します。
3
制作中のお知らせ
文書と回答により、中止された契約が特定されます。
4
終わりに
削除は発表された日にのみ行われます。
回復力のあるクライアントを作成する方法
✓不明な応答フィールドを無視します。
✓不明な列挙型はサポートされていない有効な状態として扱います。
✓Don't depend on the order of JSON properties.
✓SDK から推測されたバージョンではなく、URL からのバージョンを使用してください。
✓生成された顧客を更新する前に履歴を追跡します。