FastApi Docs (문서화)

최준호·2024년 1월 31일
0

FastAPI

목록 보기
5/9
post-thumbnail

🔴 FastApi 문서화

fastapi에서 문서화는 따로 할것이 없다. 자동으로 문서를 생성해주기 때문이다.
지금까지 우리가 만들어놓은 api를 실행시키고 http://localhost:8000/docs 로 접근해보자.

🟠 swagger

그러면 다음과 같이 문서들이 자동으로 생성되어 있고 테스를 진행할 수 있다.

🟠 redoc

http://localhost:8000/redoc 로 접근해보자.

위 그림과 같이 redoc도 자동으로 생성해준다.

🔴 문서 설정

🟠 추가 설정

세부 설정까진 아니지만 파라미터에 대한 설명글을 추가해줄 수 있다.

🟢 Path 사용

@board_router.get("/board/{id}")
def getDetail2(id: int = Path(gt=0, title="게시판 id")) -> dict:
    return {"board" : board_list[id]}

경로 매개변수를 사용할때 FastApi에서 제공하는 Path를 사용하여 유효성 체크와 설명을 추가해줄 수 있다. 해당 부분은 redoc에서 확인이 가능하다.

🟢 body 요청 예시 수정

class Board(BaseModel):
    id: int
    subject: str
    content: str
    member: Member

    class Config:
        json_schema_extra = {
            "example" : {
                "id" : 1,
                "subject" : "제목",
                "content" : "내용",
                "member" : {
                    "id" : 1,
                    "name" : "이름"
                }
            }
        }

다음과 같이 객체에 Config 값을 추가해주면 문서에서 요청하는 예시를 수정할 수 있다.

0개의 댓글