FastAPI 在调用函数返回响应
时间: 2024-04-27 10:21:24 浏览: 10
是的,FastAPI在调用函数后会自动将函数的返回值转换为响应。具体来说,当你在FastAPI中定义一个路由函数时,你可以在函数内部使用Python的return语句来返回数据。FastAPI会根据返回数据的类型自动将其转换为响应,并设置正确的HTTP状态码和Content-Type头。例如,如果你返回一个字典对象,FastAPI会将其转换为JSON格式并设置Content-Type头为application/json。如果你返回一个字符串,FastAPI会将其设置为响应正文并设置Content-Type头为text/plain。
相关问题
FastAPI 在调用函数返回响应,给出示例
当你在FastAPI中定义一个路由函数时,你可以在函数内部使用Python的return语句来返回数据,FastAPI会自动将其转换为响应并返回给客户端。下面是一个简单的示例:
```python
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello, World!"}
```
在上面的示例中,我们定义了一个根路由`/`,当客户端发送GET请求到该路由时,我们返回一个字典对象`{"message": "Hello, World!"}`。FastAPI会自动将其转换为JSON格式并设置Content-Type头为application/json。
你也可以返回一个字符串,例如:
```python
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return "Hello, World!"
```
在上面的示例中,我们直接返回了一个字符串`"Hello, World!"`,FastAPI会将其设置为响应正文并设置Content-Type头为text/plain。
FastAPI路由函数调用其他函数会返回响应,给出示例
当你在FastAPI中定义一个路由函数时,你可以在函数内部调用其他函数,然后将函数的返回值作为响应返回给客户端。下面是一个简单的示例:
```python
from fastapi import FastAPI
app = FastAPI()
def calculate_sum(a: int, b: int) -> int:
return a + b
@app.get("/{a}/{b}")
async def sum(a: int, b: int):
result = calculate_sum(a, b)
return {"result": result}
```
在上面的示例中,我们定义了一个计算两个数之和的函数`calculate_sum()`,然后在路由函数`sum()`中调用该函数进行计算。最终,我们将计算结果作为字典对象`{"result": result}`返回给客户端。
当客户端发送GET请求并提供两个参数`a`和`b`时,FastAPI会自动将这两个参数解析为整数类型,并传递给路由函数`sum()`作为参数。在路由函数内部,我们调用`calculate_sum()`函数进行计算,并将计算结果作为字典对象返回给客户端。FastAPI会自动将字典对象转换为JSON格式并设置Content-Type头为application/json。