OpenAPITools / OpenAPITools/openapi-diff

Schema description update should be considered as a metadata change

Offen
#694 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

Hello,

When diffing this spec:

openapi: 3.0.3
info:
  title: Test
paths:
  /foo:
    post:
      requestBody:
        content:
          application/json:
            schema:
              type: string
              description: desc v1

with this one:

openapi: 3.0.3
info:
  title: Test
paths:
  /foo:
    post:
      requestBody:
        content:
          application/json:
            schema:
              type: string
              description: desc v2

I get the following output:

==========================================================================
==                            API CHANGE LOG                            ==
==========================================================================
                                   Test                                   
--------------------------------------------------------------------------
--                            What's Changed                            --
--------------------------------------------------------------------------
- POST   /foo
  Request:
        - Changed application/json
          Schema: Backward compatible
--------------------------------------------------------------------------
--                                Result                                --
--------------------------------------------------------------------------
                   API changes are backward compatible                    
--------------------------------------------------------------------------

Since only the description field changed, I would expect a "metadata" change instead of a "compatible" one.

Changes to the description are correctly marked as metadata ones internally (see here and here) but I suspect the final value that is picked up to be the default one returned here. I don't have the time or means to debug it further however.

Tested version: 2.1.0-beta.11

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

Reproduziere den bereitgestellten OpenAPI-Diff und untersuche anschließend core/src/main/java/org/openapitools/openapidiff/core/model/ChangedSchema.java im Bereich der referenzierten Zeile 160 sowie ChangedMetadata.java und die Metadatenbehandlung in ChangedSchema.java. Erledigt ist die Aufgabe, wenn eine Änderung, die ausschließlich die Beschreibung eines Schemas betrifft, als Metadatenänderung und nicht lediglich als abwärtskompatibel gemeldet wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
api
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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