>  기사  >  백엔드 개발  >  FastAPI에서 요청 본문을 사용하여 수신 JSON 데이터를 구문 분석하는 방법

FastAPI에서 요청 본문을 사용하여 수신 JSON 데이터를 구문 분석하는 방법

王林
王林원래의
2023-07-28 16:17:173475검색

FastAPI에서 요청 본문을 사용하여 수신 JSON 데이터를 구문 분석하는 방법

FastAPI는 풍부한 기능과 고성능 비동기 지원을 제공하는 최신 Python 기반 웹 프레임워크입니다. FastAPI를 사용하여 HTTP 요청을 처리할 때 들어오는 JSON 데이터를 구문 분석해야 하는 경우가 많습니다. 이 문서에서는 요청 본문을 사용하여 FastAPI에서 수신 JSON 데이터를 구문 분석하고 해당 코드 예제를 제공하는 방법을 소개합니다.

  1. 종속성 가져오기

먼저 JSON 데이터를 처리하고 반환하기 위해 FastAPI 종속성과 JSONResponse 모듈을 가져와야 합니다.

from fastapi import FastAPI, Request
from fastapi.responses import JSONResponse
  1. FastAPI 애플리케이션 객체 생성

다음으로 FastAPI 애플리케이션 객체를 생성합니다.

app = FastAPI()
  1. 경로 처리 함수 작성

그런 다음 수신된 POST 요청을 처리하고 들어오는 JSON 데이터를 구문 분석하는 경로 처리 함수 parse_json을 작성합니다. parse_json,用于处理接收到的POST请求,并解析传入的JSON数据。

@app.post("/parse_json")
async def parse_json(request: Request):
    try:
        json_data = await request.json()
        # 在这里可以对json_data进行处理
        return {"status": "success", "data": json_data}
    except Exception as e:
        return JSONResponse(status_code=400, content={"status": "error", "message": str(e)})

在上述代码中,我们使用request.json()方法来解析传入的JSON数据。解析后的数据将以Python的字典形式存储在json_data变量中,我们可以对其进行进一步处理。

  1. 启动应用

最后,我们启动FastAPI应用。

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

至此,我们已经完成了在FastAPI中使用请求体解析传入的JSON数据的代码编写。

使用示例:

通过发送POST请求到http://localhost:8000/parse_json,并在请求体中包含JSON数据,即可调用parse_json

$ curl -X POST -H "Content-Type: application/json" -d '{"name":"John", "age":30}' http://localhost:8000/parse_json

위 코드에서는 request.json() 메서드를 사용하여 수신되는 JSON 데이터를 구문 분석합니다. 구문 분석된 데이터는 Python 사전 형식으로 json_data 변수에 저장되며, 이를 추가로 처리할 수 있습니다.

    애플리케이션 시작

    마지막으로 FastAPI 애플리케이션을 시작합니다.

    {"status": "success", "data": {"name": "John", "age": 30}}

    이제 요청 본문을 사용하여 FastAPI에서 들어오는 JSON 데이터를 구문 분석하는 코드 작성을 완료했습니다.

    사용 예:

    🎜POST 요청을 http://localhost:8000/parse_json으로 보내고 요청 본문에 JSON 데이터를 포함하면 parse_json을 호출할 수 있습니다. 함수를 처리하고 JSON 데이터 구문 분석을 수행합니다. 🎜🎜예를 들어, 컬을 사용하여 요청을 보냅니다. 🎜
    {"status": "error", "message": "Expecting property name enclosed in double quotes: line 1 column 2 (char 1)"}
    🎜반환 결과는 다음과 같습니다. 🎜rrreee🎜수신 데이터가 합법적인 JSON 형식이 아닌 경우 400 오류와 해당 오류 메시지가 반환됩니다. 🎜rrreee 🎜요약: 🎜🎜이 글에서는 FastAPI에서 요청 본문을 사용하여 수신 JSON 데이터를 구문 분석하는 방법을 소개하고 해당 코드 예제가 제공됩니다. 위의 단계를 통해 수신된 JSON 데이터를 쉽게 처리하고 추가 작업 및 처리를 수행할 수 있습니다. 이 기사가 FastAPI 개발 시 JSON 데이터를 구문 분석하는 데 도움이 되기를 바랍니다. 🎜

위 내용은 FastAPI에서 요청 본문을 사용하여 수신 JSON 데이터를 구문 분석하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.