OpenAPITools / openapi-generator

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
https://openapi-generator.tech
Apache License 2.0
21.97k stars 6.59k forks source link

[BUG][Python] python-fastapi 7.9.0 generator fails to generate types for enum schemas #20151

Open al3ad opened 4 days ago

al3ad commented 4 days ago

Bug Report Checklist

Description

Generator returns boilerplate without any declaration of schema type if it's an enum.

openapi-generator version

7.9.0

OpenAPI declaration file content or url
components:
  schemas:
    uuid:
      title: UUID
      type: string
    contentformat:
      title: Content Format
      type: string
      description: Identifies the content format for a flow or source using a URN string.
      enum:
        - 'urn:x-nmos:format:video'
        - 'urn:x-nmos:format:audio'
        - 'urn:x-nmos:format:data'
        - 'urn:x-nmos:format:multi'
Generation Details

This is the output I get in the functions generated using contentformat schema:

format:  = Query(None, description="Filter on flow format.", alias="format"),

whereas I would expect

format: str = Query(None, description="Filter on flow format.", alias="format"),

It also doesn't declare the type anywhere else in the generated function. If you get rid of the enum property from the schema it generates as expected.

Steps to reproduce
build-server-local-fastapi:
    docker run --user ${USER}:${GROUP} --rm \
                   -v ${PWD}:/local openapitools/openapi-generator-cli:v${GEN_VER} generate \
                   --additional-properties=apiNameSuffix=controller_impl \
                   -t /local/.templates/7.9.0/python_fastapi/.openapi-generator-server/ \
                   -i /local/openapi.yaml \
                   -g python-fastapi \
                   -o /local/python_fastapi/