r잡초처럼
바른 프로그래밍
r잡초처럼
전체 방문자
오늘
어제
  • 분류 전체보기 (124)
    • FastAPI (7)
    • 끄적끄적 (2)
    • Python (17)
    • Django (31)
    • Database (2)
    • Docker (7)
    • 디자인패턴 (2)
    • CS 공부 (12)
      • 알고리즘 (2)
      • 자료 구조 (1)
      • 네트워크 (7)
      • IT 지식 (1)
      • 운영체제 (1)
    • 기타 팁들 (10)
    • Aws (2)
    • 독서 (1)
    • 코딩테스트 공부 (1)
      • 백준 (0)
      • 프로그래머스 (1)
    • DevOps (13)
    • TIL (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 랜과 왠
  • 완벽한 IT 인프라 구축을 위한 Docker
  • dotenv
  • 네트워크
  • preonboarding
  • 6장
  • 5장 회사에서 하는 랜 구성
  • 랜 카드
  • 케이블의 종류
  • 상속 안티 패턴
  • encoding
  • 전기 신호
  • 책 리뷰
  • 7장
  • 모두의 네트워크
  • poetry
  • 상속과 컴포지션
  • fastapi
  • cp949
  • 파이썬 클린 코드
  • pycharm
  • depends
  • query param
  • pytest
  • 컴퓨터 기본 지식
  • validate
  • 물리 계층
  • Batch
  • docker
  • CS 지식

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
r잡초처럼

바른 프로그래밍

FastAPI

FastAPI - PathParameter

2023. 8. 2. 12:02

PathParameter

1. '{}' 를 쓰고 인자로 받으면 된다.

@app.get("/items/{item_id}")
async def read_item(item_id: int):
    return {"item_id": item_id}

2. 만약 sub path 가 같고 뒤에 오는게 다르다면?

@app.get("/users/me")
async def read_user_me():
    return {"user_id": "the current user"}


@app.get("/users/{user_id}")
async def read_user(user_id: str):
    return {"user_id": user_id}

이럴 경우엔 path param이 me가 오는 경우 read_user_me()가 호출 되고, 다른 경우엔 read_user가 호출된다. 

3. 만약 path param 에서 받아오는 값에 "/" 가 붙어있는 경우에는 어떻게 해야할까? 이때는 :path 를 붙여준다.

@app.get("/files/{file_path:path}")  # :path 예를 들어 1/1.txt 로 요청해도 404 가 안뜬다
async def read_file(file_path: str):
    return {"file_path": file_path}

4. 만약 path param 으로 받아오는 값을 choice하게 해야된다면? Enum을 이용하자

class ModelName(str, Enum):
    alexnet = "alexnet"
    resnet = "resnet"
    lenet = "lenet"


@app.get("/models/{model_name}")
async def get_model(model_name: ModelName):
    if model_name is ModelName.alexnet:
        return {"model_name": model_name, "message": "Deep Learning FTW!"}

    if model_name.value == "lenet":
        return {"model_name": model_name, "message": "LeCNN all the images"}

    return {"model_name": model_name, "message": "Have some residuals"}

'FastAPI' 카테고리의 다른 글

FastAPI - Query Parameter에 Custom Validate 적용하기  (0) 2023.09.02
FastApi 사용하면서 기록할 것들  (0) 2023.08.30
Annotated  (0) 2023.08.03
QueryParameter  (0) 2023.08.02
FastAPI 시작하기 - 개발환경 세팅  (0) 2023.08.01
    'FastAPI' 카테고리의 다른 글
    • FastApi 사용하면서 기록할 것들
    • Annotated
    • QueryParameter
    • FastAPI 시작하기 - 개발환경 세팅
    r잡초처럼
    r잡초처럼
    오늘보다 내일 더 나은 개발자가 되기 위한 노력을 기록하는 블로그 입니다.

    티스토리툴바