OpenAPITools / OpenAPITools/openapi-diff

PUT new attribute backwards compatibility optional

Offen
#251 0 Kommentare 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Breaking/Non-Breaking classification question
Vorherrschende Sprache
Java
Sterne
1.1k
Forks
190
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit nachzuverfolgen, wie changedOperation.isIncompatible() mit hinzugefügten Feldern in PUT-Anfragen umgeht und wie dieses Ergebnis den abgeschlossenen Diff erreicht. Vergleiche die vorgeschlagenen Ansätze: granulare Informationen zur Inkompatibilität bereitzustellen, ein Kommandozeilen-Flag hinzuzufügen oder den Objektgraphen nach dem Diffing zu durchlaufen. Als erledigt gilt die Aufgabe, wenn ein Design ausgewählt und spezifiziert ist und sein Verhalten für PUTs, die nur Einfügungen vornehmen, sowie für PUTs im Update-Stil abgedeckt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
api
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
30/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.