FastAPI에서 POST 요청을 처리하고 JSON 응답을 반환하는 방법
FastAPI는 표준 Python 유형 힌트를 기반으로 하는 빠르고(고성능) 사용하기 쉬운 최신 웹 프레임워크입니다. 강력한 비동기 지원을 제공하며 동시성이 높은 상황을 쉽게 처리할 수 있습니다. FastAPI에서는 간결한 코드를 사용하여 POST 요청을 처리하고 JSON 응답을 반환할 수 있습니다. 이 문서에서는 FastAPI에서 이 작업을 수행하는 방법을 설명하고 해당 코드 예제를 제공합니다.
먼저 FastAPI 애플리케이션을 만들어야 합니다. 다음은 애플리케이션을 생성하는 기본 코드입니다.
from fastapi import FastAPI app = FastAPI()
다음으로 POST 요청을 처리할 경로를 생성해야 합니다. FastAPI는 데코레이터를 사용하여 경로를 정의합니다. 다음은 POST 요청을 처리하는 예입니다.
@app.post("/api/submit") async def submit_data(data: dict): # 在这里进行数据处理 # ... # 返回JSON响应 return {"message": "Data submitted successfully"}
위 예에서는 /api/submit </ 경로와 함께 데코레이터 <code>@app.post
를 사용하여 경로를 정의했습니다. code>의 경우 요청 방법은 POST입니다. 라우팅 함수 submit_data
는 data
라는 매개변수를 허용하며 매개변수 유형은 dict
이며 POST 요청에서 데이터를 수신하는 데 사용됩니다. @app.post
定义了一个路由,该路由的路径为/api/submit
,请求方法为POST。路由函数submit_data
接受一个名为data
的参数,参数类型为dict
,它将用于接收POST请求中的数据。
在submit_data
函数中,我们可以进行数据处理的逻辑,如验证数据、保存到数据库等等。然后,我们使用return
语句返回一个JSON响应。在这个示例中,我们返回了一个包含键"message"
和值"Data submitted successfully"
的字典。
注意,在FastAPI中,使用async def
来定义异步函数,这样可以充分利用框架的异步特性,提高性能。
为了使应用程序能够运行起来,我们需要添加以下代码:
if __name__ == "__main__": uvicorn.run(app, host="0.0.0.0", port=8000)
以上代码将使应用程序运行在本地的0.0.0.0
地址上,监听端口8000。
现在,我们已经完成了在FastAPI中处理POST请求并返回JSON响应的基本代码。我们可以通过向/api/submit
发送一条POST请求,并在请求体中包含JSON数据来测试我们的应用程序。
以下是一个使用Python requests
库发送POST请求的示例:
import requests data = {"name": "John", "age": 30} response = requests.post("http://localhost:8000/api/submit", json=data) print(response.json())
在上面的示例中,我们创建了一个字典data
,包含了一些数据。然后,我们使用requests.post
方法发送POST请求,并通过json
参数将数据作为JSON发送。最后,我们使用response.json()
submit_data
함수에서는 데이터 확인, 데이터베이스 저장 등의 데이터 처리 로직을 수행할 수 있습니다. 그런 다음 return
문을 사용하여 JSON 응답을 반환합니다. 이 예에서는 "message"
키와 "Data submit 성공적으로 제출됨"
값이 포함된 사전을 반환합니다. FastAPI에서 async def
를 사용하여 비동기 함수를 정의하면 프레임워크의 비동기 기능을 최대한 활용하고 성능을 향상시킬 수 있습니다. 🎜🎜애플리케이션을 실행하려면 다음 코드를 추가해야 합니다: 🎜rrreee🎜위 코드는 애플리케이션이 로컬 0.0.0.0
주소에서 실행되고 포트 8000에서 수신 대기하도록 합니다. 🎜🎜이제 FastAPI에서 POST 요청을 처리하고 JSON 응답을 반환하는 기본 코드를 완성했습니다. /api/submit
에 POST 요청을 보내고 요청 본문에 JSON 데이터를 포함시켜 애플리케이션을 테스트할 수 있습니다. 🎜🎜다음은 Python requests
라이브러리를 사용하여 POST 요청을 보내는 예입니다. 🎜rrreee🎜위 예에서는 일부 데이터가 포함된 data
사전을 만들었습니다. 그런 다음 requests.post
메서드를 사용하여 POST 요청을 보내고 json
매개변수를 통해 데이터를 JSON으로 보냅니다. 마지막으로 response.json()
메서드를 사용하여 응답 JSON 데이터를 얻고 이를 인쇄합니다. 🎜🎜위의 간단한 예를 통해 FastAPI에서 POST 요청을 처리하고 JSON 응답을 반환하는 방법을 보여줍니다. FastAPI는 간단하고 강력한 API 디자인을 제공하므로 웹 애플리케이션을 보다 효율적으로 구축할 수 있습니다. 이 글이 FastAPI를 사용하여 POST 요청을 처리하는 과정에 도움이 되기를 바랍니다. 🎜위 내용은 FastAPI에서 POST 요청을 처리하고 JSON 응답을 반환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!