OpenAPITools / OpenAPITools/openapi-diff
PUT new attribute backwards compatibility optional
まだ誰も着手していません。
- 主要言語
- Java
- スター
- 1.1k
- フォーク
- 190
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
https://github.com/OpenAPITools/openapi-diff/issues/136 made the PUT request incompatibility check stricter, considering an additional field as a breaking change. This makes sense for a scenario where updates are taking place, but is too strict if PUTs represent only inserts.
What would be the best way of optionally removing the strict handling of PUTs? Options could include:
- Surfacing more information about how the
changedOperation.isIncompatible()decision was made, allowing the user of the OpenApiDiff to use more granular information to decide whether it should be considered as a breaking change. - Adding a command-line flag to remove the PUT strictness for all cases in a run.
- Writing some code to traverse the object graph for PUTs when the diff has completed and decide whether the strict PUT handling is what caused the incompatibility, and then ignore it.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
まず、changedOperation.isIncompatible() が PUT リクエスト内の追加されたフィールドをどのように処理し、その結果が completed diff にどのように到達するかを追跡します。提案されているアプローチを比較します。非互換性に関する粒度の細かい情報を公開する、コマンドラインフラグを追加する、または diff の後にオブジェクトグラフを走査する、という方法です。完了条件は、1 つの設計を選択して仕様化し、insert-only の PUT と update-style の PUT に対するその動作を網羅することです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- api
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 30/100