在 VSCode 下调试 python-FastAPI 时需要路由请求方面的帮助
Need assistance on routing requests while debugging python-FastAPI under VSCode
这是我第一次尝试使用 VSCode 进行 python 开发,我 运行 遇到了问题,我不知道为什么。
眼前的问题是我似乎无法让 uvicorn 将我的浏览器请求路由到我的 fastAPI 模块。这是我的代码的相关部分:
import uvicorn
from fastapi import FastAPI, Header, HTTPException, Request, status, Response
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import JSONResponse
from pydantic import BaseModel
# initialize (FAST) API framework.
app = FastAPI()
# configure Cross-Origin Resource Sharing configuration
# TODO : Have to enter all the allowed origins
origins = ["*"]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
if __name__ == "__main__":
uvicorn.run(app, host="127.0.0.1", port=8000)
################################
# endpoint definitions #
################################
# test endpoint
@app.get("/")
async def test():
x=0
return x
所以我在“x = 0”语句和 运行 调试器上设置了断点,一切正常,没有例外,uvicorn 似乎在等待请求。
我的浏览器请求是http://127.0.0.1:8000/
我在终端window看到的是这样的:
INFO: Started server process [22764]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: 127.0.0.1:64541 - "GET /incentives HTTP/1.1" 404 Not Found
INFO: 127.0.0.1:64544 - "GET / HTTP/1.1" 404 Not Found
我仔细阅读了我能找到的文档并尝试了一些排列但没有成功。我从来没有达到断点。
我也试过在 VSCode 文件夹下设置一个“launch.json”文件,但似乎没有做任何事情,而且似乎没有启动 uvicron 任务或设置我的环境变量。
您有一个订购问题。您的函数永远不会被定义,因为 uvicorn.run
永远不会 returns。首先定义函数。
这是我第一次尝试使用 VSCode 进行 python 开发,我 运行 遇到了问题,我不知道为什么。
眼前的问题是我似乎无法让 uvicorn 将我的浏览器请求路由到我的 fastAPI 模块。这是我的代码的相关部分:
import uvicorn
from fastapi import FastAPI, Header, HTTPException, Request, status, Response
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import JSONResponse
from pydantic import BaseModel
# initialize (FAST) API framework.
app = FastAPI()
# configure Cross-Origin Resource Sharing configuration
# TODO : Have to enter all the allowed origins
origins = ["*"]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
if __name__ == "__main__":
uvicorn.run(app, host="127.0.0.1", port=8000)
################################
# endpoint definitions #
################################
# test endpoint
@app.get("/")
async def test():
x=0
return x
所以我在“x = 0”语句和 运行 调试器上设置了断点,一切正常,没有例外,uvicorn 似乎在等待请求。
我的浏览器请求是http://127.0.0.1:8000/
我在终端window看到的是这样的:
INFO: Started server process [22764]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: 127.0.0.1:64541 - "GET /incentives HTTP/1.1" 404 Not Found
INFO: 127.0.0.1:64544 - "GET / HTTP/1.1" 404 Not Found
我仔细阅读了我能找到的文档并尝试了一些排列但没有成功。我从来没有达到断点。
我也试过在 VSCode 文件夹下设置一个“launch.json”文件,但似乎没有做任何事情,而且似乎没有启动 uvicron 任务或设置我的环境变量。
您有一个订购问题。您的函数永远不会被定义,因为 uvicorn.run
永远不会 returns。首先定义函数。