DeanWay / fastapi-versioning

api versioning for fastapi web applications
MIT License
642 stars 63 forks source link

Using versioning is breaking the tags_metadata in the generated docs #66

Open dk766 opened 2 years ago

dk766 commented 2 years ago

Describe the bug Using the versioning breaks some of the tags_metadata functionality .

To Reproduce Steps to reproduce the behavior:

  1. create a small app:
    
    tags_metadata = [
    {
        "name": "users",
        "description": "Operations with users. The **login** logic is also here.",
    },
    ]

app = FastAPI(openapi_tags=tags_metadata)

@app.get("/users/", tags=["users"]) @version(1) async def get_users(): return [{"name": "Harry"}, {"name": "Ron"}]

app = VersionedFastAPI( app, version_format="{major}", prefix_format="/api/v{major}", )


2.run it and check the generated documentation at:
/api/v1/docs

**Expected behavior**
Notice that above the get_users method you will see the expected tag 
"**Users**"
but the description will not be displayed.
The expected behavior obtained if versioning is not used is that both the Tag and the Description will be displayed:
"**Users**  Operations with users. The **login** logic is also here."