[Schema Inaccuracy] Consider using discriminator properties for union types
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- openapi
- Área
- api, backend-api-design
Línea de trabajo
Empieza revisando la definición de OpenAPI para GET /repos/{owner}/{repo}/contents/{path} y sus esquemas content-directory, content-file, content-symlink y content-submodule. Determina si una propiedad existente puede admitir el discriminator o si se necesita una nueva, y luego verifica que la unión mapea cada tipo de respuesta y mejora la deserialización del cliente.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Schema Inaccuracy
GET /repos/{owner}/{repo}/contents/{path}
Was recently updated from a single "object" schema to
application/json:
schema:
oneOf:
- "$ref": "#/components/schemas/content-directory"
- "$ref": "#/components/schemas/content-file"
- "$ref": "#/components/schemas/content-symlink"
- "$ref": "#/components/schemas/content-submodule"
While this is great to #650 's point as it more accurately describes the possible values, it also makes deserialization work on client applications much harder.
Expected
Consider adding something along the lines of
discriminator:
propertyName: newPropertyName
mapping:
content-file: "#/components/schemas/content-file"
content-submodule: "#/components/schemas/content-submodule"
content-symlink: "#/components/schemas/content-symlink"
(this would require introducing a new property if one with the mapping values doesn't already exist)
This way client applications can match the discrimator mapping value with the object type during deserialization.
Reproduction Steps
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 1.6k
- Forks
- 342
- Merge medio
- 3 h 33 min
- PR fusionados (30 d)
- 51
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de github/rest-api-description
-
feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
github/rest-api-description#7201 ·
-
feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
github/rest-api-description#7163 ·
-
Runner deprecations: registration_deprecates_at is declared on the response but never returned Abiertofeature
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
github/rest-api-description#7162 ·
-
feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
github/rest-api-description#7135 ·
-
feature
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
github/rest-api-description#7111 · 1 comentario ·
Todos los issues de github/rest-api-description
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
use-agent-os/agent-os#3312 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
-
needs-acceptance wg/data-plane-networking
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
vllm-project/semantic-router#4024 · 1 comentario ·
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
amponce/archive-movie-browser#165 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100