순서 문제

헨도·2023년 1월 4일
0

FastAPI

목록 보기
5/8
post-thumbnail

FastAPI

오류 코드 및 분석

FastAPI의 Path Parameter를 선언할 때, 순서 문제가 발생하곤 한다.

from fastapi import FastAPI

app = FastAPI()

@app.get("/users/me")
def get_my_info() :
	return {"user_id" : 123}
    
@app.get("/users/{user_id}/")
def get_user(user_id : int) :
	return {"user_id" : user_id}

위의 함수의 순서를 예시로 들겠다.
위 함수 실행 시, user_id 값을 me 라고 생각하여 "/users/me" 도 user_id에 연결되는 현상이 발생한다.

파이썬 코드는 위에서 아래로 실행되고, 경로 동작(Path Operation)이 엔드포인트 순서에 따라 수행되기 때문이다.

그러므로 get_user() 함수와 get_my_info() 함수의 순서가 바뀌어야한다.

정상 코드

from fastapi import FastAPI

app = FastAPI()

@app.get("/users/{user_id}/")
def get_user(user_id : int) :
	return {"user_id" : user_id}

@app.get("/users/me")
def get_my_info() :
	return {"user_id" : 123}
profile
Junior Backend Developer

0개의 댓글