openapi-generators / openapi-generators/openapi-python-client
$ref in path parameters doesn't seem to work
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 2k
- Forks
- 293
- Merge medio
- 34 min
- PR fusionados (30 d)
- 1
Descripción
Describe the bug
If a get path has a parameter using $ref to point to #/components/parameters, the generated API lacks the corresponding kwarg. If one "hoists" the indirect parameter up into the path's parameters, it works as expected.
To Reproduce
See this repo for a reproducible example.
And see this repo for the same schema without the $ref, working as expected.
Expected behavior
I expect to see the optional page kwarg in both generated APIs.
I see this in the $ref example:
def sync(
*,
client: Client,
) -> Optional[List[str]]:
and this in the noref example:
def sync(
*,
client: Client,
page: Union[Unset, None, GetTestPage] = UNSET,
) -> Optional[List[str]]:
OpenAPI Spec File
A link to your openapi.json which produces this issue.
Desktop (please complete the following information):
- OS: Microsoft Windows 10 Pro 10.0.19044 Build 19044
- Python Version: 3.9.12
- openapi-python-client version 0.11.1
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.
Línea de trabajo
Comienza con el archivo test-schema.yaml enlazado en el repositorio reproducible openapi-ref-issue y ejecuta el generador usando la versión indicada de openapi-python-client. Compara el punto de entrada sync generado con el ejemplo noref, centrándote en la resolución del parámetro $ref. Se considera terminado cuando la API generada también incluye el page kwarg opcional en el caso del parámetro referenciado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- openapi, python
- Área
- api
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 48/100