sanic-org / sanic-openapi

Easily document your Sanic API with a UI
https://sanic-openapi.readthedocs.io/
MIT License
505 stars 107 forks source link

Duplicate route names error #258

Open m-aliansari opened 1 year ago

m-aliansari commented 1 year ago

Describe the bug The getting started example in the sanic-openapi docs does not appear to be working with the latest sanic version. It's giving duplicate route names error. I used the code in this URL https://sanic-openapi.readthedocs.io/en/stable/sanic_openapi2/index.html. Also there is a simple error that sanic doesn't allow spaces in the app name, so the line app = Sanic("Hello world") should be changed to app = Sanic("HelloWorld"). I am attaching the error below.

Screenshots image

To Reproduce

from sanic import Sanic
from sanic.response import json
from sanic_openapi import openapi2_blueprint

app = Sanic("HelloWorld")
app.blueprint(openapi2_blueprint)

@app.route("/")
async def test(request):
    return json({"hello": "world"})

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8000)

Environment:

adonskoi commented 1 year ago

This error occurs here, because sanic of name conflict:

oas3_blueprint.static("/", dir_path + "/index.html", strict_slashes=True)
 oas3_blueprint.static("", dir_path)

Pass names throw params not very good idea, I think. Maybe just add names like swagger_index and swagger and possibility to set it throw env variables. What do you think? I can do pull request?

ahopkins commented 1 year ago

Yeah, adding a name should solve it. TBH, this project is not supported any longer since all of the OAS3 stuff is in Sanic Extensions now. It is still here for anyone still using OAS2. But, we will not continue to support and/or maintain it indefinitely into the future.

If you would like to make a PR, I am happy to accept it. But, I'd suggest moving to Sanic Extensions where full support will be guaranteed by the core team.

m-aliansari commented 1 year ago

Yeah I saw that it's deprecated now, and I migrated to use sanic extensions, so, I don't have that problem now. It's up to you guys if you want to solve this bug or not. Thanks anyway.