inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

FastAPI 완벽 가이드

HTTP Method Override를 Custom Middleware로 구현하기 - 01

put, patch, delete에 대해 질문 드립니다.

134

bluebamus

작성한 질문수 84

0

학습 중에 fastapi는 get과 post만 지원하기 때문에 별도로 미들웨어를 이용해 put, patch, delete를 구현해야 한다고 이해를 하게 되었습니다.

헌데 다른 학습 웹 문서나, gpt에게 여러 요청을 통해 확인을 하는 과정에서 app. 혹은 @router. 을 사용해 이미 지원되는 put, patch, delete를 사용할 수 있다고 설명을 하는 것을 확인할 수 있었습니다.

제가 학습 영상에 대해 이해를 잘못하고 있는 것인지 혹 놓친게 있는지 알고 싶어 질문을 드립니다.

python sql sqlalchemy FastAPI

답변 1

0

권 철민

안녕하십니까,

FastAPI가 지원을 안 하는게 아니라 HTML이 PUT/PATCH/DELETE HTTP Method를 지원하지 않습니다. HTML Form 태그는 POST/GET 만 지원하므로 HTML을 파싱해서 Request를 올리는 브라우저 기반에서는 PUT/PATCH/DELETE Method를 요청할 수 없습니다.

때문에 Method override와 같이 Form 태그에 약간의 꼼수(?)를 적용한 뒤 이를 미들웨어에서 파싱/해석하여 FastAPI의 @app.put, @app.patch @app.delete등으로 PUT/PATCH/DELETE를 수행하는 것입니다(Express js와 같은 타 웹 프레임워크도 이와 유사한 방식으로 처리합니다)

브라우저 기반이 아닌 다른 REST API Client 예를 들어, Thunder Client나 Postman은 HTML기반이 아니므로 PUT/PATCH/DELETE 요청을 바로 FastAPI에 수행할 수 있습니다.

강의에서 위 내용으로 설명을 드리오니, 다시 한번 강의를 보시면 좋을 것 같습니다.

감사합니다.

0

bluebamus

감사합니다. 제가 html from 태그 기반에서 put, patch, delete 지원과 관련한 것이라 이해를 못하고 있던게 문제였습니다.

답변으로 빠르게 정리게 되었습니다 감사합니다.

모델 서빙과 관련된 강좌 출시 예정된 바가 있으신지 여쭤봅니다!

0

21

2

간단한 모델 서빙용으로 FastAPI를 공부하려고 합니다.

0

100

1

Update(수정)용 모델 질문 드립니다.

0

72

2

API 라우트 설계 시 중첩 구조 분리 기준 질문

0

84

2

signed cookie 와 jwt 토큰

0

107

2

비동기처리와 멀티스레드

0

119

2

fastapi의 가능성에 대해 궁금합니다.

0

124

1

어디가 필요없는 코드인지 알아내려면....

0

78

2

nginx를 사용하고 static 설정을 하는 경우도 app.mount 설정을 해야 하나요?

0

104

2

logout 태그 관련 질문

0

56

2

안녕하세요. 질문 하나 드려도 될까요?

0

97

1

81강 한 건도 못찾았을 경우 질문

0

78

2

64강: mysql-connector-python 버전 관련

0

95

2

152번 강의에서 질문이있습니다.

0

77

2

import 자동완성

0

58

1

FastAPI + Uvicorn 환경에서 메모리 누수 관련 문의드립니다.

0

335

2

EmailStr + max_length=40 같은 경우 질문

0

107

2

item_static.html 질문

0

113

2

uvicorn으로 로컬서버 올렸으나 사내 타 컴퓨터에서 접속이 안됨

0

269

2

머신러닝 백엔드 강좌 언제나오나요?

0

139

2

db connect

0

128

2

pydantic

0

122

2

url_for

0

94

2

react

0

113

2