인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

bluebamus님의 프로필 이미지
bluebamus

작성한 질문수

FastAPI 완벽 가이드

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

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

작성

·

20

0

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

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

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

답변 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에 수행할 수 있습니다.

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

감사합니다.

bluebamus님의 프로필 이미지
bluebamus
질문자

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

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

bluebamus님의 프로필 이미지
bluebamus

작성한 질문수

질문하기