microsoft / microsoft/OpenAPI.NET.OData

orderby/select/expand should be oneOf when UseStringArrayForQueryOptionsSchema is false

Offen
#615 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

priority:p1 type:bug
Vorherrschende Sprache
C#
Sterne
240
Forks
70
Ø Merge
7 Std. 59 Min.
Gemergte PRs (30 T.)
13

Beschreibung

Currently we describe


parameters:
  - name: $select
    in: query
    style: form
    explode: false
    schema:
      uniqueItems: true
      type: array
      items:
        type: string
        enum:
          - id
          - firstName
          - ....

It should instead be


parameters:
  - name: $select
    in: query
    style: form
    explode: false
    schema:
      uniqueItems: true
      type: array
      items:
        oneOf:
        - type: string
        - type: string
           enum:
             - id
             - firstName
             - ....

This is because for any navigation property you can write $select=navProperty($expand=subproperty) and we don't want to project all possibilities. But we don't want to restrict clients to simply the scalar/first level properties.

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, UseStringArrayForQueryOptionsSchema und die Schema-Generierung für $select, $orderby und $expand zu lokalisieren. Vergleiche das aktuell generierte OpenAPI-Schema mit den Beispielen des Issues; abgeschlossen ist die Aufgabe, wenn Ausdrücke für Navigationseigenschaften weiterhin möglich sind, während skalare Eigenschaften und Eigenschaften der ersten Ebene durch die angeforderte oneOf-Struktur dargestellt werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, openapi
Bereich
api
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

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