OpenAPITools / OpenAPITools/openapi-diff

PUT new attribute backwards compatibility optional

Ouverte
#251 0 commentaires 4 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Breaking/Non-Breaking classification question
Langage dominant
Java
Étoiles
1.1k
Forks
190
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par suivre la manière dont changedOperation.isIncompatible() gère les champs ajoutés dans les requêtes PUT et la manière dont ce résultat atteint le diff terminé. Comparez les approches proposées : exposer des informations granulaires sur l’incompatibilité, ajouter une option de ligne de commande ou parcourir le graphe d’objets après le diff. Le travail est considéré comme terminé lorsqu’une seule conception est choisie et spécifiée, et que son comportement pour les PUTs en insertion uniquement et les PUTs de style mise à jour est couvert.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
api
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.