FastAPI 공식문서 따라하기[2] - 첫걸음
https://fastapi.tiangolo.com/ko/ 공식문서 따라하는 글
☑️ 1. 기초
1
2
3
4
5
6
7
8
9
# main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root() :
return {"Im" : "kms first_step!!"}
1
$ uvicorn main:app --reload
이전 포스트에서 설명했으므로 설명은 스킵
☑️ 2. OpenAPI
FastAPI
는 API를 정의하기 위한 OpenAPI
표준을 이용해 스키마
를 생성.
API스키마
: API경로, 가능한 매개변수 등을 포함.Data스키마
: JSon처럼 어떤 데이터의 형태
http://127.0.0.1:8000/openapi.json 을 통해 스키마를 확인할 수 있다.
☑️ 3. 리뷰
위의 코드
1
2
3
4
5
6
7
8
9
# main.py
1 from fastapi import FastAPI
2 app = FastAPI()
3 @app.get("/")
4 def read_root() :
5 return {"Im" : "kms first_step!!"}
를 기준으로 한줄 한줄 설명 합니다.
1 FastAPI import
:FastAPI
는Starlette
를 직접 상속하는 클래스로,Starlette
의 모든 기능을 사용할 수 있다.2 FastAPI Instance 생성
: 만약app = FastAPI()
를mytestapp = FastAPI()
로 바꾼다면
1
2
3
uvicorn main:app --reload
#에서
uvicorn main:mytestapp --reload
로 바꿔 써야한다.
3 경로
: (Post, Get, Put, Delete …)- 여기에 쓰인
@app.get("/")
처럼@
가 달린것을데코레이터
라고 불림. @app.post()
,@app.put()
,@app.delete
,@app.option()
,@app.head()
,@app.patch()
,@app.trace()
등 지원.
- 여기에 쓰인
4 경로 동작 함수 정의
:경로
: ‘/’동작
: ‘get’함수
:@app.get("/")
아래에 있는 기능들.async
사용가능.
5 콘텐츠 반환
:dict
,list
,str
등.. 반환 가능.
This post is licensed under CC BY 4.0 by the author.