`apispec` ignores `oneOf` from `marshmallow-oneofschema`
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 38/100
Línea de trabajo
No se indica ningún archivo fuente ni ruta de prueba; empieza por localizar el manejo de marshmallow-oneofschema en apispec y leer las pruebas relevantes de generación de esquemas. Reproduce el ejemplo de AerthlingsShopOffer y, después, añade cobertura de regresión que confirme que se generan oneOf y ambos esquemas concretos de oferta.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I need oneOf in my schema:
class AerthlingsShopOffer(OneOfSchema):
"""Polymorphic offer type discriminated by the 'type' field."""
type_field = "type"
type_schemas = {
"character": AerthlingsCharacterOffer,
"mutation_point": AerthlingsMpOffer,
}
Marshmallow doesn't seem to support this. Fortunately, there is an extension, marshmallow-oneofschema. Unfortunately, when presented with the class above, apispec silently ignores it, producing
"AerthlingsShopOffer": {
"type": "object",
"properties": {}
},
and omitting AerthlingsCharacterOffer and AerthlingsMpOffer entirely.
I have a fix for this, but I think it requires discussion, and I have not yet written a unit test for it. If you think this is worth doing, I can complete the work and submit a PR. If not, that is no problem for me; I can continue to use my forked apispec in my own project.
- Lenguaje dominante
- Python
- Estrellas
- 1.2k
- Forks
- 210
- Merge medio
- 2 d 1 h
- PR fusionados (30 d)
- 4
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la 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 marshmallow-code/apispec
-
DateTime(format="timestamp") generates invalid OpenAPI schema using min instead of minimumPosiblemente ocupada @Sanjays2402 la tomó hace 102 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
marshmallow-code/apispec#1064 ·
Los mantenedores suelen responder en 1 día
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
marshmallow-code/apispec#750 · 1 comentario · 5 reacciones ·
Los mantenedores suelen responder en 1 día
-
Dependency DashboardAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 30/100
marshmallow-code/apispec#1033 ·
Los mantenedores suelen responder en 1 día
-
Support Overlays standardAbiertoenhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
marshmallow-code/apispec#981 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Date and DateTime with format argument not rendered correctlyPosiblemente ocupada @jbbqqf la tomó hace 173 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 30/100
marshmallow-code/apispec#938 · 1 reacción ·
Los mantenedores suelen responder en 1 día
Todos los issues de marshmallow-code/apispec
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
btclib-org/btclib#3062 ·
Los mantenedores suelen responder en 1 día
-
Run evals automatically in CIAbiertoarea:evals area:infra enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
jse-avl/support-bot#4 · 1 comentario ·
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
qte77/agentic-job-offer-to-application-kit#487 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
On a free-threaded build, `_decrypted` can report a ledger locked mid-sign as a damaged fileAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
btclib-org/btclib-wallet#801 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue
Dificultad 1/5 1-3 horas Aptitud para principiantes 94/100