在fastapi环境中启动一个服务的示例
时间: 2024-05-14 10:13:28 浏览: 11
可以参考以下代码:
```python
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
```
这是一个最基本的FastAPI应用程序,它只有一个根路由,返回一个简单的JSON响应。在main函数中使用uvicorn启动应用程序,可以通过在命令行中运行此文件来启动服务。
相关问题
fastapi mysql写一个后台管理系统代码示例
好的,以下是一个使用FastAPI和MySQL实现的后台管理系统代码示例:
```
from fastapi import FastAPI, HTTPException
from fastapi.responses import HTMLResponse
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
from pydantic import BaseModel
import mysql.connector
app = FastAPI()
app.mount("/static", StaticFiles(directory="static"), name="static")
templates = Jinja2Templates(directory="templates")
class User(BaseModel):
name: str
age: int
email: str
@app.get("/", response_class=HTMLResponse)
def index(request):
return templates.TemplateResponse("index.html", {"request": request})
@app.post("/add_user/")
def add_user(user: User):
try:
conn = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="database_name"
)
cursor = conn.cursor()
query = "INSERT INTO users (name, age, email) VALUES (%s, %s, %s)"
values = (user.name, user.age, user.email)
cursor.execute(query, values)
conn.commit()
cursor.close()
conn.close()
return {"message": "User added successfully."}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
@app.get("/users/", response_class=HTMLResponse)
def get_users(request):
try:
conn = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="database_name"
)
cursor = conn.cursor()
query = "SELECT * FROM users"
cursor.execute(query)
users = cursor.fetchall()
cursor.close()
conn.close()
return templates.TemplateResponse("users.html", {"request": request, "users": users})
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
```
以上代码实现了两个接口:`/add_user/`用于添加用户,`/users/`用于获取用户列表。其中,数据保存在MySQL数据库中。在使用前请注意修改MySQL连接信息。
举例展示fastapi框架托管服务的代码示例
当然可以,以下是一个简单的示例代码:
```python
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World!"}
```
以上代码启动一个简单的 HTTP 服务器,当你访问 `/` 路径时,服务器将返回一个 JSON 格式的响应 `"message": "Hello World!"`。当然,这只是一个示例,你可以通过添加更多路由、模型和中间件来构建更复杂的应用程序。希望这能够对你有所帮助!