"TypeError: 'NoneType' object is not callable" when raising an Exception with FastAPI + GraphQL [duplicate]
I'm trying to use GraphQL with FastAPI, and I'm getting a strange Exception when raising an Exception.
class CreateCourse(Mutation):
course = Field(CourseType)
class Arguments:
id = String(required=True)
title = String(required=True)
instructor = String(required=True)
def mutate(self, info, id, title, instructor):
with open("./courses.json", "r+") as courses:
course_list = json.load(courses)
for course in course_list:
if course['id'] == id:
raise Exception('Course with provided id already exists!')
course_list.append({"id": id, "title": title, "instructor": instructor})
courses.seek(0)
json.dump(course_list, courses, indent=2)
return CreateCourse(course=course_list[-1])
Without raise Exception(''), all works fine, but with raise Exception, I'm getting "TypeError: 'NoneType' object is not callable"
Traceback (most recent call last):
File "c:\desktop\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 384, in run_asgi
result = await app(self.scope, self.receive, self.send)
File "c:\desktop\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 45, in __call__
return await self.app(scope, receive, send)
File "c:\desktop\lib\site-packages\fastapi\applications.py", line 181, in __call__
await super().__call__(scope, receive, send)
File "c:\desktop\lib\site-packages\starlette\applications.py", line 102, in __call__
await self.middleware_stack(scope, receive, send)
File "c:\desktop\lib\site-packages\starlette\middleware\errors.py", line 181, in __call__
raise exc from None
File "c:\desktop\lib\site-packages\starlette\middleware\errors.py", line 159, in __call__
await self.app(scope, receive, _send)
File "c:\desktop\lib\site-packages\starlette\middleware\cors.py", line 78, in __call__
await self.app(scope, receive, send)
File "c:\desktop\lib\site-packages\starlette\exceptions.py", line 82, in __call__
raise exc from None
File "c:\desktop\lib\site-packages\starlette\exceptions.py", line 71, in __call__
await self.app(scope, receive, sender)
File "c:\desktop\lib\site-packages\starlette\routing.py", line 550, in __call__
await route.handle(scope, receive, send)
File "c:\desktop\lib\site-packages\starlette\routing.py", line 227, in handle
await self.app(scope, receive, send)
File "c:\desktop\lib\site-packages\starlette\routing.py", line 41, in app
response = await func(request)
File "c:\desktop\lib\site-packages\fastapi\routing.py", line 197, in app
dependant=dependant, values=values, is_coroutine=is_coroutine
File "c:\desktop\lib\site-packages\fastapi\routing.py", line 147, in run_endpoint_function
return await dependant.call(**values)
File ".\main.py", line 88, in graphql
return await graphql_app.handle_graphql(request=request)
File "c:\desktop\lib\site-packages\starlette\graphql.py", line 107, in handle_graphql
if result.errors
File "c:\desktop\lib\site-packages\starlette\graphql.py", line 106, in <listcomp>
[format_graphql_error(err) for err in result.errors]
TypeError: 'NoneType' object is not callable
from Recent Questions - Stack Overflow https://ift.tt/3m7ddWH
https://ift.tt/eA8V8J
Comments
Post a Comment