OpenAPITools / OpenAPITools/openapi-diff

PUT new attribute backwards compatibility optional

オープン
#251 コメント 0 件 リアクション 4 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

Breaking/Non-Breaking classification question
主要言語
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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、changedOperation.isIncompatible() が PUT リクエスト内の追加されたフィールドをどのように処理し、その結果が completed diff にどのように到達するかを追跡します。提案されているアプローチを比較します。非互換性に関する粒度の細かい情報を公開する、コマンドラインフラグを追加する、または diff の後にオブジェクトグラフを走査する、という方法です。完了条件は、1 つの設計を選択して仕様化し、insert-only の PUT と update-style の PUT に対するその動作を網羅することです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
api
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。