Given the provided Starlette example (with the needed fix to the api mount path, as it is incorrectly provided in the example):
...
from starlette.staticfiles import StaticFiles
...
app = Starlette(routes=[
Mount('/api', routes=[
Route('/user', user_profile, methods=['POST']),
]),
Mount('/static', StaticFiles(directory="static"), name='static'),
])
...
Traceback (most recent call last):
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/uvicorn/protocols/http/h11_impl.py", line 389, in run_asgi
result = await app(self.scope, self.receive, self.send)
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/uvicorn/middleware/proxy_headers.py", line 45, in __call__
return await self.app(scope, receive, send)
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/starlette/applications.py", line 111, in __call__
await self.middleware_stack(scope, receive, send)
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/starlette/middleware/errors.py", line 181, in __call__
raise exc from None
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/starlette/middleware/errors.py", line 159, in __call__
await self.app(scope, receive, _send)
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/starlette/exceptions.py", line 82, in __call__
raise exc from None
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/starlette/exceptions.py", line 71, in __call__
await self.app(scope, receive, sender)
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/starlette/routing.py", line 566, in __call__
await route.handle(scope, receive, send)
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/starlette/routing.py", line 227, in handle
await self.app(scope, receive, send)
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/starlette/routing.py", line 43, in app
response = await run_in_threadpool(func, request)
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/starlette/concurrency.py", line 34, in run_in_threadpool
return await loop.run_in_executor(None, func, *args)
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/spectree/plugins/starlette_plugin.py", line 30, in <lambda>
lambda request: JSONResponse(self.spectree.spec),
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/spectree/spec.py", line 60, in spec
self._spec = self._generate_spec()
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/spectree/spec.py", line 150, in _generate_spec
for route in self.backend.find_routes():
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/spectree/plugins/starlette_plugin.py", line 129, in find_routes
parse_route(self.app)
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/spectree/plugins/starlette_plugin.py", line 127, in parse_route
parse_route(route, prefix=f'{prefix}{route.path}')
File "/Users/scott/.pyenv/versions/3.7.7/lib/python3.7/site-packages/spectree/plugins/starlette_plugin.py", line 102, in parse_route
for route in app.routes:
TypeError: 'NoneType' object is not iterable