반응형
앞선 강의에서 reponse model을 지정해준것 처럼 response status code도 직접 지정해 줄 수 있다.
사용방법은 status_code를 이용하면 되고 아래의 operation들에게 사용가능하다
- @app.get()
- @app.post()
- @app.put()
- @app.delete()
- etc.
from fastapi import FastAPI
app = FastAPI()
@app.post("/items/", status_code=201)
async def create_item(name: str):
return {"name": name}
status_code는 다음과 같은 역할을 한다
- response에 status code를 지정해준다
- docs에 status code를 표시해준다.
아래와 같이 shortcut로 status code 지정이 가능하다.
fastapi.ststus를 임포트 하면된다.
from fastapi import FastAPI, status
app = FastAPI()
@app.post("/items/", status_code=status.HTTP_201_CREATED)
async def create_item(name: str):
return {"name": name}
반응형
HTTP status code
아래는 status 코드에 대한 설명이다.
- 100단위 숫자 : information을 뜻한다. 거의 사용할 일이 없다. 이 status는 response body를 가질 수 없다
- 200단위 숫자 : OK를 의미한다. 즉 요청에 대한 처리가 성공했다는 의미이다.
201은 "Created"가 되었다는 정보를 가진다. 주로 데이터베이스에 새로운 레코드를 생성할때 사용된다.
204는 "No content"라는 의미이다. 클라이언트에게 돌려줄 데이터가 없음을 의미하며 response body를 가질 수 없다.
- 300단위 숫자 : "Redirection"을 의미한다. 304(Not Modified)는 response body를 가질 수 없다.
- 400단위 숫자 : "Client error"를 뜻한다.
400 : 클라이언트 측 요청에서 문제가 있음을 암시한다.
404 : "Not Found"를 의미한다.
- 500단위 숫자 : 서버에러를 의미한다. 거의 쓸일이 없다. 서버에서 문제가 생기면 알에서 이 값을 리턴해준다.
반응형
'Fast API > fastapi배우기' 카테고리의 다른 글
Fast API 배우기 15부 - Request Files (1) | 2021.11.02 |
---|---|
Fast API 배우기 14부 - Form Data (0) | 2021.11.02 |
Fast API 배우기 12부 - Extra Model (1) | 2021.11.01 |
Fast API 배우기 11부 - Response Model (0) | 2021.11.01 |
Fast API 배우기 10부 - Cookie 파라미터, Header 파라미터 (1) | 2021.11.01 |
댓글