Discriminator for oneOf schemas ignored
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Start by locating the oneOf and discriminator validation entry points in the Python library, then reproduce the issue with the provided schema and request. Trace how the discriminator mapping selects a schema and compare the current generic error with the requested property-specific validation error. Done means the mapped schema is validated and invalid requests receive useful errors.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
If a discriminator is set for a list of oneOf schemas only the matching schema should be validated against and therefore useful errors can be provided:
schema
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/cat_type'
- $ref: '#/components/schemas/dog_type'
discriminator:
propertyName: type
mapping:
cat: '#/components/schemas/cat_type'
dog: '#/components/schemas/dog_type'
request
{'type': 'dog' ...}
If the request is invalid the validator raises: "Exactly one valid schema should be valid, None found."
But if there's a discriminator we know which schema to validate against and could provide a useful error message. Such as what property is missing or invalid.
- Lenguaje dominante
- Python
- Estrellas
- 368
- Forks
- 140
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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 python-openapi/openapi-core
-
kind/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
python-openapi/openapi-core#1188 · 2 comentarios ·
-
kind/bug
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
python-openapi/openapi-core#1225 · 2 comentarios ·
-
kind/bug
Dificultad 3/5 1-2 días Aptitud para principiantes 76/100
python-openapi/openapi-core#1212 ·
-
[Bug]: Query parameter validation fails to match empty string when listed as a valid enum value Abiertokind/bug
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
python-openapi/openapi-core#1210 ·
-
kind/bug kind/bug/confirmed
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
python-openapi/openapi-core#1180 · 3 comentarios ·
Todos los issues de python-openapi/openapi-core
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
learningequality/ricecooker#747 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
BSData/horus-heresy-3rd-edition#3171 ·
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
run-llama/llama_index#23199 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
KhronosGroup/glTF-Blender-IO#2769 ·