2023-03-20 15:53:39.581 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 15:53:42.328 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 16:14:52.568 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 16:14:52.921 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 16:15:37.972 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/chat/ask headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 16:15:37.976 | ERROR | api:token_exception_handler:76 - 参数查询异常 URL:http://127.0.0.1:8010/api/v1/chat/ask Headers:Headers({'host': '127.0.0.1:8010', 'connection': 'keep-alive', 'content-length': '0', 'sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', 'accept': 'application/json', 'sec-ch-ua-mobile': '?0', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 'sec-ch-ua-platform': '"Linux"', 'origin': 'http://127.0.0.1:8010', 'sec-fetch-site': 'same-origin', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty', 'referer': 'http://127.0.0.1:8010/api/v1/docs', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8'}) Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/app/core/security.py", line 65, in check_jwt_token payload = jwt.decode( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/jose/jwt.py", line 142, in decode payload = jws.verify(token, key, algorithms, verify=verify_signature) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/jose/jws.py", line 70, in verify header, payload, signing_input, signature = _load(token) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/jose/jws.py", line 176, in _load signing_input, crypto_segment = jwt.rsplit(b".", 1) AttributeError: 'NoneType' object has no attribute 'rsplit' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__ await self.app(scope, receive, sender) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__ raise e File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__ await route.handle(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 61, in app response = await func(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 217, in app solved_result = await solve_dependencies( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/dependencies/utils.py", line 529, in solve_dependencies solved = await run_in_threadpool(call, **sub_values) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/concurrency.py", line 39, in run_in_threadpool return await anyio.to_thread.run_sync(func, *args) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/anyio/to_thread.py", line 28, in run_sync return await get_asynclib().run_sync_in_worker_thread(func, *args, cancellable=cancellable, File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 818, in run_sync_in_worker_thread return await future File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 754, in run result = context.run(func, *args) File "/home/leo/Work/openai/JmedChat/app/core/security.py", line 71, in check_jwt_token raise custom_exc.TokenAuthError(err_desc="access token fail") utils.custom_exc.TokenAuthError 2023-03-20 16:42:30.705 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 16:42:31.190 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 17:04:06.353 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 17:04:10.165 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 17:13:33.202 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/login headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 17:13:33.547 | ERROR | api:all_exception_handler:100 - 全局异常 URL:http://127.0.0.1:8010/api/v1/auth/login Headers:Headers({'host': '127.0.0.1:8010', 'connection': 'keep-alive', 'content-length': '89', 'sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', 'accept': 'application/json', 'content-type': 'application/json', 'sec-ch-ua-mobile': '?0', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 'sec-ch-ua-platform': '"Linux"', 'origin': 'http://127.0.0.1:8010', 'sec-fetch-site': 'same-origin', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty', 'referer': 'http://127.0.0.1:8010/api/v1/docs', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8'}) Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context self.dialect.do_execute( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute cursor.execute(statement, parameters) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/cursors.py", line 148, in execute result = self._query(query) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/cursors.py", line 310, in _query conn.query(q) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 548, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 775, in _read_query_result result.read() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 1156, in read first_packet = self.connection._read_packet() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 725, in _read_packet packet.raise_for_error() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error err.raise_mysql_exception(self._data) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.ProgrammingError: (1146, "Table 'jmedchat.nlt_user' doesn't exist") The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 159, in __call__ await self.app(scope, receive, _send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 63, in __call__ response = await self.dispatch_func(request, call_next) File "/home/leo/Work/openai/JmedChat/app/api/__init__.py", line 143, in logger_request response = await call_next(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 44, in call_next raise app_exc File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 34, in coro await self.app(scope, request.receive, send_stream.send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 92, in __call__ await self.simple_response(scope, receive, send, request_headers=headers) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 147, in simple_response await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 82, in __call__ raise exc File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__ await self.app(scope, receive, sender) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__ raise e File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__ await route.handle(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 61, in app response = await func(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 227, in app raw_response = await run_endpoint_function( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 160, in run_endpoint_function return await dependant.call(**values) File "/home/leo/Work/openai/JmedChat/app/api/v1/auth/views.py", line 58, in auth_login user = crud_user.authenticate(db, username=user_info.username, password=user_info.password) File "/home/leo/Work/openai/JmedChat/app/api/v1/auth/crud/user.py", line 117, in authenticate user = self.get_by_username(db, username=username) File "/home/leo/Work/openai/JmedChat/app/api/v1/auth/crud/user.py", line 114, in get_by_username return db.query(User).filter(User.username == username).first() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/query.py", line 2819, in first return self.limit(1)._iter().first() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/query.py", line 2903, in _iter result = self.session.execute( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1696, in execute result = conn._execute_20(statement, params or {}, execution_options) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1631, in _execute_20 return meth(self, args_10style, kwargs_10style, execution_options) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 325, in _execute_on_connection return connection._execute_clauseelement( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1498, in _execute_clauseelement ret = self._execute_context( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1862, in _execute_context self._handle_dbapi_exception( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2043, in _handle_dbapi_exception util.raise_( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 207, in raise_ raise exception File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context self.dialect.do_execute( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute cursor.execute(statement, parameters) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/cursors.py", line 148, in execute result = self._query(query) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/cursors.py", line 310, in _query conn.query(q) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 548, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 775, in _read_query_result result.read() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 1156, in read first_packet = self.connection._read_packet() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 725, in _read_packet packet.raise_for_error() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error err.raise_mysql_exception(self._data) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception raise errorclass(errno, errval) sqlalchemy.exc.ProgrammingError: (pymysql.err.ProgrammingError) (1146, "Table 'jmedchat.nlt_user' doesn't exist") [SQL: SELECT nlt_user.id AS nlt_user_id, nlt_user.create_time AS nlt_user_create_time, nlt_user.update_time AS nlt_user_update_time, nlt_user.is_delete AS nlt_user_is_delete, nlt_user.user_id AS nlt_user_user_id, nlt_user.username AS nlt_user_username, nlt_user.hashed_password AS nlt_user_hashed_password, nlt_user.nickname AS nlt_user_nickname, nlt_user.email AS nlt_user_email, nlt_user.avatar AS nlt_user_avatar, nlt_user.phone AS nlt_user_phone, nlt_user.gender AS nlt_user_gender, nlt_user.register_time AS nlt_user_register_time, nlt_user.last_login_time AS nlt_user_last_login_time, nlt_user.last_login_ip AS nlt_user_last_login_ip, nlt_user.register_ip AS nlt_user_register_ip, nlt_user.wechat_openid AS nlt_user_wechat_openid, nlt_user.country AS nlt_user_country, nlt_user.province AS nlt_user_province, nlt_user.city AS nlt_user_city, nlt_user.q_limit AS nlt_user_q_limit, nlt_user.q_tokens_limit AS nlt_user_q_tokens_limit, nlt_user.a_tokens_limit AS nlt_user_a_tokens_limit, nlt_user.is_active AS nlt_user_is_active FROM nlt_user WHERE nlt_user.username = %(username_1)s LIMIT %(param_1)s] [parameters: {'username_1': 'string', 'param_1': 1}] (Background on this error at: https://sqlalche.me/e/14/f405) 2023-03-20 17:59:57.866 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 17:59:58.274 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:00:11.545 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:00:11.689 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:01:12.295 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:01:12.425 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:01:59.418 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:01:59.650 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:06:08.568 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:06:08.864 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:06:53.485 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:06:53.489 | ERROR | api:validation_exception_handler:91 - 参数错误 URL:http://127.0.0.1:8010/api/v1/auth/newuser Headers:Headers({'host': '127.0.0.1:8010', 'connection': 'keep-alive', 'content-length': '96', 'sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', 'accept': 'application/json', 'content-type': 'application/json', 'sec-ch-ua-mobile': '?0', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 'sec-ch-ua-platform': '"Linux"', 'origin': 'http://127.0.0.1:8010', 'sec-fetch-site': 'same-origin', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty', 'referer': 'http://127.0.0.1:8010/api/v1/docs', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8'}) Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__ await self.app(scope, receive, sender) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__ raise e File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__ await route.handle(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 61, in app response = await func(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 225, in app raise RequestValidationError(errors, body=body) fastapi.exceptions.RequestValidationError: 1 validation error for Request body -> email field required (type=value_error.missing) 2023-03-20 18:07:24.938 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:07:24.945 | ERROR | api:validation_exception_handler:91 - 参数错误 URL:http://127.0.0.1:8010/api/v1/auth/newuser Headers:Headers({'host': '127.0.0.1:8010', 'connection': 'keep-alive', 'content-length': '96', 'sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', 'accept': 'application/json', 'content-type': 'application/json', 'sec-ch-ua-mobile': '?0', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 'sec-ch-ua-platform': '"Linux"', 'origin': 'http://127.0.0.1:8010', 'sec-fetch-site': 'same-origin', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty', 'referer': 'http://127.0.0.1:8010/api/v1/docs', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8'}) Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__ await self.app(scope, receive, sender) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__ raise e File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__ await route.handle(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 61, in app response = await func(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 225, in app raise RequestValidationError(errors, body=body) fastapi.exceptions.RequestValidationError: 1 validation error for Request body -> email field required (type=value_error.missing) 2023-03-20 18:08:29.920 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:08:30.211 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:10:02.389 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:10:02.721 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:10:09.231 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:10:09.248 | ERROR | api:all_exception_handler:100 - 全局异常 URL:http://127.0.0.1:8010/api/v1/auth/newuser Headers:Headers({'host': '127.0.0.1:8010', 'connection': 'keep-alive', 'content-length': '57', 'sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', 'accept': 'application/json', 'content-type': 'application/json', 'sec-ch-ua-mobile': '?0', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 'sec-ch-ua-platform': '"Linux"', 'origin': 'http://127.0.0.1:8010', 'sec-fetch-site': 'same-origin', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty', 'referer': 'http://127.0.0.1:8010/api/v1/docs', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8'}) Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/anyio/streams/memory.py", line 81, in receive return self.receive_nowait() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/anyio/streams/memory.py", line 76, in receive_nowait raise WouldBlock anyio.WouldBlock During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 41, in call_next message = await recv_stream.receive() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/anyio/streams/memory.py", line 101, in receive raise EndOfStream anyio.EndOfStream During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 159, in __call__ await self.app(scope, receive, _send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 63, in __call__ response = await self.dispatch_func(request, call_next) File "/home/leo/Work/openai/JmedChat/app/api/__init__.py", line 143, in logger_request response = await call_next(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 44, in call_next raise app_exc File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 34, in coro await self.app(scope, request.receive, send_stream.send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 92, in __call__ await self.simple_response(scope, receive, send, request_headers=headers) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 147, in simple_response await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 82, in __call__ raise exc File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__ await self.app(scope, receive, sender) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__ raise e File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__ await route.handle(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 61, in app response = await func(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 227, in app raw_response = await run_endpoint_function( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 160, in run_endpoint_function return await dependant.call(**values) File "/home/leo/Work/openai/JmedChat/app/api/v1/auth/views.py", line 179, in new_user if (crud_user.is_exist(db, user_in=user)): File "/home/leo/Work/openai/JmedChat/app/api/v1/auth/crud/user.py", line 146, in is_exist user = db.query(User).filter(User.email == user_in.email or User.username == user_in.username).first() AttributeError: 'UserCreate' object has no attribute 'email' 2023-03-20 18:10:43.486 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:10:43.737 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:10:51.850 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:10:51.866 | ERROR | api:all_exception_handler:100 - 全局异常 URL:http://127.0.0.1:8010/api/v1/auth/newuser Headers:Headers({'host': '127.0.0.1:8010', 'connection': 'keep-alive', 'content-length': '57', 'sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', 'accept': 'application/json', 'content-type': 'application/json', 'sec-ch-ua-mobile': '?0', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 'sec-ch-ua-platform': '"Linux"', 'origin': 'http://127.0.0.1:8010', 'sec-fetch-site': 'same-origin', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty', 'referer': 'http://127.0.0.1:8010/api/v1/docs', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8'}) Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/anyio/streams/memory.py", line 81, in receive return self.receive_nowait() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/anyio/streams/memory.py", line 76, in receive_nowait raise WouldBlock anyio.WouldBlock During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 41, in call_next message = await recv_stream.receive() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/anyio/streams/memory.py", line 101, in receive raise EndOfStream anyio.EndOfStream During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 159, in __call__ await self.app(scope, receive, _send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 63, in __call__ response = await self.dispatch_func(request, call_next) File "/home/leo/Work/openai/JmedChat/app/api/__init__.py", line 143, in logger_request response = await call_next(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 44, in call_next raise app_exc File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 34, in coro await self.app(scope, request.receive, send_stream.send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 92, in __call__ await self.simple_response(scope, receive, send, request_headers=headers) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 147, in simple_response await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 82, in __call__ raise exc File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__ await self.app(scope, receive, sender) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__ raise e File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__ await route.handle(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 61, in app response = await func(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 227, in app raw_response = await run_endpoint_function( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 160, in run_endpoint_function return await dependant.call(**values) File "/home/leo/Work/openai/JmedChat/app/api/v1/auth/views.py", line 179, in new_user if (crud_user.is_exist(db, user_in=user)): File "/home/leo/Work/openai/JmedChat/app/api/v1/auth/crud/user.py", line 146, in is_exist user = db.query(User).filter(User.email == user_in.email or User.username == user_in.username).first() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 3901, in __bool__ raise TypeError("Boolean value of this clause is not defined") TypeError: Boolean value of this clause is not defined 2023-03-20 18:12:05.718 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:12:05.899 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:12:10.593 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:12:11.071 | ERROR | api:all_exception_handler:100 - 全局异常 URL:http://127.0.0.1:8010/api/v1/auth/newuser Headers:Headers({'host': '127.0.0.1:8010', 'connection': 'keep-alive', 'content-length': '57', 'sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', 'accept': 'application/json', 'content-type': 'application/json', 'sec-ch-ua-mobile': '?0', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 'sec-ch-ua-platform': '"Linux"', 'origin': 'http://127.0.0.1:8010', 'sec-fetch-site': 'same-origin', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty', 'referer': 'http://127.0.0.1:8010/api/v1/docs', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8'}) Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context self.dialect.do_execute( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute cursor.execute(statement, parameters) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/cursors.py", line 148, in execute result = self._query(query) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/cursors.py", line 310, in _query conn.query(q) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 548, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 775, in _read_query_result result.read() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 1156, in read first_packet = self.connection._read_packet() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 725, in _read_packet packet.raise_for_error() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error err.raise_mysql_exception(self._data) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.IntegrityError: (1048, "Column 'email' cannot be null") The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 159, in __call__ await self.app(scope, receive, _send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 63, in __call__ response = await self.dispatch_func(request, call_next) File "/home/leo/Work/openai/JmedChat/app/api/__init__.py", line 143, in logger_request response = await call_next(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 44, in call_next raise app_exc File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 34, in coro await self.app(scope, request.receive, send_stream.send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 92, in __call__ await self.simple_response(scope, receive, send, request_headers=headers) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 147, in simple_response await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 82, in __call__ raise exc File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__ await self.app(scope, receive, sender) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__ raise e File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__ await route.handle(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 61, in app response = await func(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 227, in app raw_response = await run_endpoint_function( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 160, in run_endpoint_function return await dependant.call(**values) File "/home/leo/Work/openai/JmedChat/app/api/v1/auth/views.py", line 183, in new_user user = crud_user.create(db, obj_in=user) File "/home/leo/Work/openai/JmedChat/app/api/v1/auth/crud/user.py", line 174, in create db.commit() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1435, in commit self._transaction.commit(_to_root=self.future) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 829, in commit self._prepare_impl() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 808, in _prepare_impl self.session.flush() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 3367, in flush self._flush(objects) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 3506, in _flush with util.safe_reraise(): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__ compat.raise_( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 207, in raise_ raise exception File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 3467, in _flush flush_context.execute() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 456, in execute rec.execute(self) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 630, in execute util.preloaded.orm_persistence.save_obj( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 245, in save_obj _emit_insert_statements( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 1238, in _emit_insert_statements result = connection._execute_20( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1631, in _execute_20 return meth(self, args_10style, kwargs_10style, execution_options) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 325, in _execute_on_connection return connection._execute_clauseelement( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1498, in _execute_clauseelement ret = self._execute_context( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1862, in _execute_context self._handle_dbapi_exception( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2043, in _handle_dbapi_exception util.raise_( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 207, in raise_ raise exception File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context self.dialect.do_execute( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute cursor.execute(statement, parameters) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/cursors.py", line 148, in execute result = self._query(query) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/cursors.py", line 310, in _query conn.query(q) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 548, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 775, in _read_query_result result.read() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 1156, in read first_packet = self.connection._read_packet() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 725, in _read_packet packet.raise_for_error() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error err.raise_mysql_exception(self._data) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception raise errorclass(errno, errval) sqlalchemy.exc.IntegrityError: (pymysql.err.IntegrityError) (1048, "Column 'email' cannot be null") [SQL: INSERT INTO nlt_user (create_time, update_time, is_delete, user_id, username, hashed_password, nickname, email, avatar, phone, gender, register_time, last_login_time, last_login_ip, register_ip, wechat_openid, country, province, city, q_limit, q_tokens_limit, a_tokens_limit, is_active) VALUES (%(create_time)s, %(update_time)s, %(is_delete)s, %(user_id)s, %(username)s, %(hashed_password)s, %(nickname)s, %(email)s, %(avatar)s, %(phone)s, %(gender)s, %(register_time)s, %(last_login_time)s, %(last_login_ip)s, %(register_ip)s, %(wechat_openid)s, %(country)s, %(province)s, %(city)s, %(q_limit)s, %(q_tokens_limit)s, %(a_tokens_limit)s, %(is_active)s)] [parameters: {'create_time': datetime.datetime(2023, 3, 20, 18, 12, 10, 937550), 'update_time': datetime.datetime(2023, 3, 20, 18, 12, 10, 937562), 'is_delete': 0, 'user_id': '034c889747ef4ec0aabe6aba170cb8e6', 'username': '13917323763', 'hashed_password': '$2b$12$JodO4yYFyuqUW42fIi6pu.2heV63qyrfi7I6dJbHU9dr4oVnmePNW', 'nickname': None, 'email': None, 'avatar': None, 'phone': None, 'gender': 0, 'register_time': datetime.datetime(2023, 3, 20, 18, 12, 10, 937603), 'last_login_time': datetime.datetime(2023, 3, 20, 18, 12, 10, 937606), 'last_login_ip': None, 'register_ip': None, 'wechat_openid': None, 'country': None, 'province': None, 'city': None, 'q_limit': 0, 'q_tokens_limit': 0, 'a_tokens_limit': 0, 'is_active': True}] (Background on this error at: https://sqlalche.me/e/14/gkpj) 2023-03-20 18:12:59.667 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:12:59.845 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:13:04.199 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:13:04.658 | ERROR | api:all_exception_handler:100 - 全局异常 URL:http://127.0.0.1:8010/api/v1/auth/newuser Headers:Headers({'host': '127.0.0.1:8010', 'connection': 'keep-alive', 'content-length': '57', 'sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', 'accept': 'application/json', 'content-type': 'application/json', 'sec-ch-ua-mobile': '?0', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 'sec-ch-ua-platform': '"Linux"', 'origin': 'http://127.0.0.1:8010', 'sec-fetch-site': 'same-origin', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty', 'referer': 'http://127.0.0.1:8010/api/v1/docs', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8'}) Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context self.dialect.do_execute( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute cursor.execute(statement, parameters) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/cursors.py", line 148, in execute result = self._query(query) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/cursors.py", line 310, in _query conn.query(q) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 548, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 775, in _read_query_result result.read() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 1156, in read first_packet = self.connection._read_packet() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 725, in _read_packet packet.raise_for_error() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error err.raise_mysql_exception(self._data) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.IntegrityError: (1048, "Column 'email' cannot be null") The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 159, in __call__ await self.app(scope, receive, _send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 63, in __call__ response = await self.dispatch_func(request, call_next) File "/home/leo/Work/openai/JmedChat/app/api/__init__.py", line 143, in logger_request response = await call_next(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 44, in call_next raise app_exc File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 34, in coro await self.app(scope, request.receive, send_stream.send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 92, in __call__ await self.simple_response(scope, receive, send, request_headers=headers) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 147, in simple_response await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 82, in __call__ raise exc File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__ await self.app(scope, receive, sender) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__ raise e File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__ await route.handle(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 61, in app response = await func(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 227, in app raw_response = await run_endpoint_function( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 160, in run_endpoint_function return await dependant.call(**values) File "/home/leo/Work/openai/JmedChat/app/api/v1/auth/views.py", line 183, in new_user user = crud_user.create(db, obj_in=user) File "/home/leo/Work/openai/JmedChat/app/api/v1/auth/crud/user.py", line 174, in create db.commit() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 1435, in commit self._transaction.commit(_to_root=self.future) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 829, in commit self._prepare_impl() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 808, in _prepare_impl self.session.flush() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 3367, in flush self._flush(objects) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 3506, in _flush with util.safe_reraise(): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 70, in __exit__ compat.raise_( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 207, in raise_ raise exception File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 3467, in _flush flush_context.execute() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 456, in execute rec.execute(self) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/unitofwork.py", line 630, in execute util.preloaded.orm_persistence.save_obj( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 245, in save_obj _emit_insert_statements( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/persistence.py", line 1238, in _emit_insert_statements result = connection._execute_20( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1631, in _execute_20 return meth(self, args_10style, kwargs_10style, execution_options) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 325, in _execute_on_connection return connection._execute_clauseelement( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1498, in _execute_clauseelement ret = self._execute_context( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1862, in _execute_context self._handle_dbapi_exception( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2043, in _handle_dbapi_exception util.raise_( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 207, in raise_ raise exception File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 1819, in _execute_context self.dialect.do_execute( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 732, in do_execute cursor.execute(statement, parameters) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/cursors.py", line 148, in execute result = self._query(query) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/cursors.py", line 310, in _query conn.query(q) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 548, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 775, in _read_query_result result.read() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 1156, in read first_packet = self.connection._read_packet() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/connections.py", line 725, in _read_packet packet.raise_for_error() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/protocol.py", line 221, in raise_for_error err.raise_mysql_exception(self._data) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/pymysql/err.py", line 143, in raise_mysql_exception raise errorclass(errno, errval) sqlalchemy.exc.IntegrityError: (pymysql.err.IntegrityError) (1048, "Column 'email' cannot be null") [SQL: INSERT INTO nlt_user (create_time, update_time, is_delete, user_id, username, hashed_password, nickname, email, avatar, phone, gender, register_time, last_login_time, last_login_ip, register_ip, wechat_openid, country, province, city, q_limit, q_tokens_limit, a_tokens_limit, is_active) VALUES (%(create_time)s, %(update_time)s, %(is_delete)s, %(user_id)s, %(username)s, %(hashed_password)s, %(nickname)s, %(email)s, %(avatar)s, %(phone)s, %(gender)s, %(register_time)s, %(last_login_time)s, %(last_login_ip)s, %(register_ip)s, %(wechat_openid)s, %(country)s, %(province)s, %(city)s, %(q_limit)s, %(q_tokens_limit)s, %(a_tokens_limit)s, %(is_active)s)] [parameters: {'create_time': datetime.datetime(2023, 3, 20, 18, 13, 4, 537499), 'update_time': datetime.datetime(2023, 3, 20, 18, 13, 4, 537511), 'is_delete': 0, 'user_id': '59d910dcf683487f83b41400518b30ce', 'username': '13917323763', 'hashed_password': '$2b$12$R6.EFXvvZwNojzOqI/Rgt.wKT.Y9QPvEh0ovL2mwKA1bzmcgxpxeG', 'nickname': None, 'email': None, 'avatar': None, 'phone': None, 'gender': 0, 'register_time': datetime.datetime(2023, 3, 20, 18, 13, 4, 537554), 'last_login_time': datetime.datetime(2023, 3, 20, 18, 13, 4, 537557), 'last_login_ip': None, 'register_ip': None, 'wechat_openid': None, 'country': None, 'province': None, 'city': None, 'q_limit': 0, 'q_tokens_limit': 0, 'a_tokens_limit': 0, 'is_active': True}] (Background on this error at: https://sqlalche.me/e/14/gkpj) 2023-03-20 18:14:50.216 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:14:50.485 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:14:56.666 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:14:57.192 | INFO | api.v1.auth.views:new_user:186 - 创建新用户成功->帐号:13917323763 2023-03-20 18:15:23.005 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/login headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:15:23.452 | INFO | api.v1.auth.views:auth_login:69 - 用户[13917323763]登录成功 2023-03-20 18:15:46.825 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:15:47.042 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:16:03.881 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/login headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:16:04.412 | INFO | api.v1.auth.views:auth_login:69 - 用户[13917323763]登录成功 2023-03-20 18:16:42.176 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 18:16:42.611 | INFO | api.v1.auth.views:new_user:186 - 创建新用户成功->帐号:18918045317 2023-03-20 22:21:42.569 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:21:42.807 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:22:04.655 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:22:04.816 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:30:47.735 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:30:48.018 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:31:18.599 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:31:18.639 | ERROR | api:all_exception_handler:100 - 全局异常 URL:http://127.0.0.1:8010/api/v1/auth/newuser Headers:Headers({'host': '127.0.0.1:8010', 'connection': 'keep-alive', 'content-length': '80', 'sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', 'accept': 'application/json', 'content-type': 'application/json', 'sec-ch-ua-mobile': '?0', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 'sec-ch-ua-platform': '"Linux"', 'origin': 'http://127.0.0.1:8010', 'sec-fetch-site': 'same-origin', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty', 'referer': 'http://127.0.0.1:8010/api/v1/docs', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8'}) Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/relationships.py", line 2745, in _determine_joins self.primaryjoin = join_condition( File "", line 2, in join_condition File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/sql/selectable.py", line 1229, in _join_condition raise exc.NoForeignKeysError( sqlalchemy.exc.NoForeignKeysError: Can't find any foreign key relationships between 'nlt_chat_limit' and 'nlt_user'. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 159, in __call__ await self.app(scope, receive, _send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 63, in __call__ response = await self.dispatch_func(request, call_next) File "/home/leo/Work/openai/JmedChat/app/api/__init__.py", line 143, in logger_request response = await call_next(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 44, in call_next raise app_exc File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 34, in coro await self.app(scope, request.receive, send_stream.send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 92, in __call__ await self.simple_response(scope, receive, send, request_headers=headers) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 147, in simple_response await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 82, in __call__ raise exc File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__ await self.app(scope, receive, sender) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__ raise e File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__ await route.handle(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 61, in app response = await func(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 227, in app raw_response = await run_endpoint_function( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 160, in run_endpoint_function return await dependant.call(**values) File "/home/leo/Work/openai/JmedChat/app/api/v1/auth/views.py", line 179, in new_user if (crud_user.is_exist(db, user_in=user)): File "/home/leo/Work/openai/JmedChat/app/api/v1/auth/crud/user.py", line 146, in is_exist user = db.query(User).filter(User.username == user_in.username).first() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/session.py", line 2143, in query return self._query_cls(entities, self, **kwargs) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/query.py", line 180, in __init__ self._set_entities(entities) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/query.py", line 187, in _set_entities self._raw_columns = [ File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/query.py", line 188, in coercions.expect( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/sql/coercions.py", line 181, in expect insp._post_inspect File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 1180, in __get__ obj.__dict__[self.__name__] = result = self.fget(obj) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/mapper.py", line 2119, in _post_inspect self._check_configure() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/mapper.py", line 1896, in _check_configure _configure_registries({self.registry}, cascade=True) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/mapper.py", line 3420, in _configure_registries _do_configure_registries(registries, cascade) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/mapper.py", line 3459, in _do_configure_registries mapper._post_configure_properties() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/mapper.py", line 1913, in _post_configure_properties prop.init() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/interfaces.py", line 231, in init self.do_init() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/relationships.py", line 2143, in do_init self._setup_join_conditions() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/relationships.py", line 2239, in _setup_join_conditions self._join_condition = jc = JoinCondition( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/relationships.py", line 2634, in __init__ self._determine_joins() File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/orm/relationships.py", line 2767, in _determine_joins util.raise_( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 207, in raise_ raise exception sqlalchemy.exc.NoForeignKeysError: Could not determine join condition between parent/child tables on relationship ChatLimit.users - there are no foreign keys linking these tables. Ensure that referencing columns are associated with a ForeignKey or ForeignKeyConstraint, or specify a 'primaryjoin' expression. 2023-03-20 22:41:40.955 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:41:41.258 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:41:46.405 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:41:46.777 | INFO | api.v1.auth.views:new_user:186 - 创建新用户成功->帐号:13917323763 2023-03-20 22:48:08.779 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:48:08.821 | INFO | api.v1.auth.views:new_user:180 - 创建新用户失败,用户已存在->帐号:13917323763 2023-03-20 22:48:26.689 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:48:26.989 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:48:45.615 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:48:45.637 | INFO | api.v1.auth.views:new_user:180 - 创建新用户失败,用户已存在->帐号:13917323763 2023-03-20 22:49:12.768 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:49:12.952 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:49:18.463 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:49:18.508 | INFO | api.v1.auth.views:new_user:180 - 创建新用户失败,用户已存在->帐号:13917323763 2023-03-20 22:51:02.317 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:51:02.491 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:51:07.870 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:51:08.186 | INFO | api.v1.auth.views:new_user:186 - 创建新用户成功->帐号:13917323763 2023-03-20 22:52:21.283 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:52:21.642 | INFO | api.v1.auth.views:new_user:186 - 创建新用户成功->帐号:111111 2023-03-20 22:52:39.836 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:52:40.188 | INFO | api.v1.auth.views:new_user:186 - 创建新用户成功->帐号:123456 2023-03-20 22:59:39.149 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:59:39.402 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:59:43.753 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 22:59:44.107 | INFO | api.v1.auth.views:new_user:186 - 创建新用户成功->帐号:123456 2023-03-20 23:40:38.721 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/login headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 23:41:10.661 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/newuser headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 23:41:10.989 | INFO | api.v1.auth.views:new_user:186 - 创建新用户成功->帐号:13917323763 2023-03-20 23:41:17.015 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/auth/login headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 23:41:17.327 | INFO | api.v1.auth.views:auth_login:69 - 用户[13917323763]登录成功 2023-03-20 23:41:31.678 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/docs headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 23:41:31.948 | INFO | api:logger_request:140 - 访问记录:GET url:http://127.0.0.1:8010/api/v1/openapi.json headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 23:41:53.845 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/chat/ask headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 23:42:39.386 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/chat/ask headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 23:43:27.446 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/chat/ask headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 23:43:27.459 | ERROR | api:token_exception_handler:76 - 参数查询异常 URL:http://127.0.0.1:8010/api/v1/chat/ask Headers:Headers({'host': '127.0.0.1:8010', 'connection': 'keep-alive', 'content-length': '62', 'sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', 'accept': 'application/json', 'content-type': 'application/json', 'sec-ch-ua-mobile': '?0', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 'sec-ch-ua-platform': '"Linux"', 'origin': 'http://127.0.0.1:8010', 'sec-fetch-site': 'same-origin', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty', 'referer': 'http://127.0.0.1:8010/api/v1/docs', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8'}) Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/app/core/security.py", line 65, in check_jwt_token payload = jwt.decode( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/jose/jwt.py", line 142, in decode payload = jws.verify(token, key, algorithms, verify=verify_signature) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/jose/jws.py", line 70, in verify header, payload, signing_input, signature = _load(token) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/jose/jws.py", line 176, in _load signing_input, crypto_segment = jwt.rsplit(b".", 1) AttributeError: 'NoneType' object has no attribute 'rsplit' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__ await self.app(scope, receive, sender) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__ raise e File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__ await route.handle(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 61, in app response = await func(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 217, in app solved_result = await solve_dependencies( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/dependencies/utils.py", line 529, in solve_dependencies solved = await run_in_threadpool(call, **sub_values) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/concurrency.py", line 39, in run_in_threadpool return await anyio.to_thread.run_sync(func, *args) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/anyio/to_thread.py", line 28, in run_sync return await get_asynclib().run_sync_in_worker_thread(func, *args, cancellable=cancellable, File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 818, in run_sync_in_worker_thread return await future File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 754, in run result = context.run(func, *args) File "/home/leo/Work/openai/JmedChat/app/core/security.py", line 71, in check_jwt_token raise custom_exc.TokenAuthError(err_desc="access token fail") utils.custom_exc.TokenAuthError 2023-03-20 23:43:31.330 | INFO | api:logger_request:140 - 访问记录:POST url:http://127.0.0.1:8010/api/v1/chat/ask headers:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 IP:127.0.0.1 2023-03-20 23:43:31.332 | ERROR | api:token_exception_handler:76 - 参数查询异常 URL:http://127.0.0.1:8010/api/v1/chat/ask Headers:Headers({'host': '127.0.0.1:8010', 'connection': 'keep-alive', 'content-length': '62', 'sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"', 'accept': 'application/json', 'content-type': 'application/json', 'sec-ch-ua-mobile': '?0', 'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 'sec-ch-ua-platform': '"Linux"', 'origin': 'http://127.0.0.1:8010', 'sec-fetch-site': 'same-origin', 'sec-fetch-mode': 'cors', 'sec-fetch-dest': 'empty', 'referer': 'http://127.0.0.1:8010/api/v1/docs', 'accept-encoding': 'gzip, deflate, br', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8'}) Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/app/core/security.py", line 65, in check_jwt_token payload = jwt.decode( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/jose/jwt.py", line 142, in decode payload = jws.verify(token, key, algorithms, verify=verify_signature) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/jose/jws.py", line 70, in verify header, payload, signing_input, signature = _load(token) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/jose/jws.py", line 176, in _load signing_input, crypto_segment = jwt.rsplit(b".", 1) AttributeError: 'NoneType' object has no attribute 'rsplit' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/exceptions.py", line 71, in __call__ await self.app(scope, receive, sender) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__ raise e File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 656, in __call__ await route.handle(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 259, in handle await self.app(scope, receive, send) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/routing.py", line 61, in app response = await func(request) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/routing.py", line 217, in app solved_result = await solve_dependencies( File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/fastapi/dependencies/utils.py", line 529, in solve_dependencies solved = await run_in_threadpool(call, **sub_values) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/starlette/concurrency.py", line 39, in run_in_threadpool return await anyio.to_thread.run_sync(func, *args) File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/anyio/to_thread.py", line 28, in run_sync return await get_asynclib().run_sync_in_worker_thread(func, *args, cancellable=cancellable, File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 818, in run_sync_in_worker_thread return await future File "/home/leo/Work/openai/JmedChat/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 754, in run result = context.run(func, *args) File "/home/leo/Work/openai/JmedChat/app/core/security.py", line 71, in check_jwt_token raise custom_exc.TokenAuthError(err_desc="access token fail") utils.custom_exc.TokenAuthError