고급 웹프로그래밍

FastAPI(Header)

rabbit-jun 2025. 4. 2. 15:07

Header()

@app.post("/hiheader")
def hi_header(who: str = Header()):
    return {"message": f"{who}"}

이렇게 작성하면 FastAPI는 클라이언트가 보내는 HTTP 요청의 헤더에 'who' 라는 키가 있어야 값을 읽을 수 있다.

터미널에 curl -X POST http://127.0.0.1:8000/hiheader -H "who: python"을 작성하면 {"message":"python"} 가 나오는 걸 확인 가능하다.

  • -H : 요청 헤더를 지정

 

요청 예시 (HTTP 형태)

POST /hiheader HTTP/1.1
Host: localhost:8000
who: python             
Content-Type: application/json

 

Body() vs Header()

항목 Header Body (본문)
위치 HTTP 요청의 맨 위쪽 요청의 아래쪽 (본문 영역)
형식 Key: Value JSON, 텍스트, 파일 등 다양한 형식
전송 방식 -H "키:값"으로 보냄 -d '내용' 또는 파일 업로드 등
FastAPI에서 받기 Header() Body()
예시 who: python (헤더에 포함) "python" 또는 { "who": "python" } (본문)
사용 용도 인증 토큰, 콘텐츠 정보 등 실제 데이터 전송 (예: 글 내용, 폼 입력 등)
반응형