deprecated 경고는 어디서 확인할 수 있나요?
218
投稿した質問数 4
docs나 redoc에서 확인하는 것은 숙지하였는데, api 개발자가 deprecated를 경고받으려면 문서뿐 아니라 response 자체에도 deprecated 되었다는 정보가 포함되어야 할 것 같습니다. header에 포함되어 있나요?
回答 1
0
안녕하세요 답변도우미입니다.
FastAPI에서 엔드포인트에 deprecated=True 옵션을 사용하면 OpenAPI 문서(예: Swagger UI, ReDoc)에는 해당 API가 더 이상 사용되지 않는다는 표시가 나타납니다.
하지만, 이 옵션은 실제 HTTP 응답에 deprecation 관련 헤더나 메시지를 자동으로 포함시키지는 않습니다.
즉, FastAPI는 deprecated 정보를 문서화 목적으로만 사용하며, 클라이언트에게 경고 메시지를 전달하려면 별도의 구현이 필요합니다.
예를 들어, 다음과 같이 FastAPI 엔드포인트에서 직접 응답 헤더를 추가할 수 있습니다:
from fastapi import FastAPI, Response
app = FastAPI()
@app.get("/old-endpoint", deprecated=True)
def old_endpoint(response: Response):
# HTTP 표준에 따른 Deprecation 및 Warning 헤더 추가
response.headers["Deprecation"] = "true" # 혹은 제거 예정일 등 구체적인 정보를 기입할 수 있음
response.headers["Warning"] = '299 - "Deprecated API, please use the new version"'
return {"message": "This endpoint is deprecated"}
위와 같이 구현하면, /old-endpoint에 대한 응답에 Deprecation과 Warning 헤더가 포함되어 클라이언트에게 deprecated 상태를 알릴 수 있습니다.
결론적으로, FastAPI의 deprecated=True는 문서화용으로만 사용되며, 응답에 해당 정보를 포함시키려면 개발자가 별도로 헤더나 응답 본문에 추가하는 로직을 구현해야 합니다.
감사합니다.
강의노트는 제공 안해주시는 게 맞나요?
0
48
1
FastAPI를 선택하는 이유
0
73
1
동기와 비동기 엔진 부분에 대해서 궁금해서 문의드립니다.
0
68
0
강의자료 관련 질문
0
63
1
16강에 원래 있어야 할 강의 내용이 없고 23강 내용이 그대로 업로드 되어 있습니다.
0
109
2
uvicorn 명령어 수행 오류
0
114
1
pydantic model 기본
0
107
1
Windows에서 수강하는 분들을 위한 노트
1
177
1
'강의 준비를 위한 VSCode'에서 질문
0
117
1
실전 프로젝트 코드
0
169
1
강의자료
0
159
1
터미널에서 uvicorn명령어 칠때 자동완성
0
178
1
pdf 14_async_sqlalchemy 데이터 검색(읽기) github 링크
0
156
1
섹션 12 SQLAlchemy 검색 기본 문법 질문
0
171
1
Fast API 개발환경설정 자료
0
234
1
curl -X POST http://127.0.0.1:8000/set/ -i -c cookies.txt 에러
0
281
1
연동된 강의안과 수업에서 하는 강의안이 달라요
0
167
1
mySQL과 fastAPI가 연동이 안됨
0
520
2
pydantic 2.8.2를 사용하고 있습니다
0
170
1
AsyncSession 질문입니다.
0
174
1
uvicorn main:app --reload 실행 불가
0
1513
1
PDF파일 다운로드는 어디서 할 수 있나요?
0
401
1
html 오류
0
294
1
pip install 해야할 목록을 알고 싶습니다.
0
231
1

