microsoft / microsoft/OpenAPI.NET.OData

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

Ouverte
#615 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

priority:p1 type:bug
Langage dominant
C#
Étoiles
240
Forks
70
Merge moyen
7 h 59 min
PR mergées (30 j)
13

Description

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.

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 localiser UseStringArrayForQueryOptionsSchema et la génération du schéma pour $select, $orderby et $expand. Comparez le schéma OpenAPI actuellement généré avec les exemples de l’issue ; le travail est terminé lorsque les expressions de propriétés de navigation restent possibles, tandis que les propriétés scalaires et de premier niveau sont représentées au moyen de la structure oneOf demandée.

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

Évaluation

Stack technique
csharp, openapi
Domaine
api
Type d'issue
Fonctionnalité
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

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