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

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

bluebamus님의 프로필 이미지
bluebamus

작성한 질문수

FastAPI 완벽 가이드

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

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

작성

·

11

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

작성한 질문수

질문하기