microsoft / microsoft/OpenAPI.NET.OData

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

Abierto
#615 0 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

priority:p1 type:bug
Lenguaje dominante
C#
Estrellas
240
Forks
70
Merge medio
7 h 59 min
PR fusionados (30 d)
13

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza localizando UseStringArrayForQueryOptionsSchema y la generación del esquema para $select, $orderby y $expand. Compara el esquema OpenAPI generado actualmente con los ejemplos del issue; se considera terminado cuando las expresiones de propiedades de navegación siguen siendo posibles, mientras que las propiedades escalares y de primer nivel se representan mediante la estructura oneOf solicitada.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp, openapi
Área
api
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.