728x90
FastAPI
현대적이고, 빠르며(고성능), 파이썬 표준 타입 힌트에 기초한 Python3.6+의 API를 빌드하기 위한 웹 프레임워크
특징
- 빠름: (Starlette과 Pydantic 덕분에) NodeJS 및 Go와 대등할 정도로 매우 높은 성능. 사용 가능한 가장 빠른 파이썬 프레임워크 중 하나.
- 빠른 코드 작성: 약 200%에서 300%까지 기능 개발 속도 증가. *
- 적은 버그: 사람(개발자)에 의한 에러 약 40% 감소. *
- 직관적: 훌륭한 편집기 지원. 모든 곳에서 자동완성. 적은 디버깅 시간.
- 쉬움: 쉽게 사용하고 배우도록 설계. 적은 문서 읽기 시간.
- 짧음: 코드 중복 최소화. 각 매개변수 선언의 여러 기능. 적은 버그.
- 견고함: 준비된 프로덕션 용 코드를 얻으십시오. 자동 대화형 문서와 함께.
- 표준 기반: API에 대한 (완전히 호환되는) 개방형 표준 기반: OpenAPI (이전에 Swagger로 알려졌던) 및 JSON 스키마.
FastAPI 시작
첫걸음
FastAPI 공식 페이지에 자습서의 내용중
uvicorn main:app --reload
입력시 다음과 같이 에러가 난다 이거는 설치가 안되서 그런다
pip install "fastapi[all]"
입력해서 fastapi와 모든 의존성 패키지들을 설치해주고 다시 실행한다.
uvicorn main:app --reload 중
--reload 는 코드 변경이 감지되면 자동으로 서버 재시작을 해준다(개발단계에서 사용)
경로 매개변수
@app.get("/items/{item_id}")
async def read_item(item_id):
return {"item_id": item_id}
를 추가하고
/items/1 로 접근하면
쿼리스트링으로 보낸 값이 item_id 인자로 전달하게 된다.
타입이 있는 매개 변수일때
@app.get("/items/{item_id}")
async def read_item(item_id: int):
return {"item_id": item_id}
에서 int로 타입을 정해준 상태에서
/items/foo 로 접근하면
이것처럼 내용을 상세하게 알려준다.
또한 데이터 타입을 정하고 /items/3 로 접근하면 데이터 변환이 되어서 나온다
자동 API문서화
Pydantic (데이터 검증)
기본적으로 유효성 검사를 위해 사용되지만 parsing 라이브러리이다
자료형이나 제약 조건을 보장하기 위한 수단으로 입력 데이터의 유효성을 검사한다.
본 후기는 정보통신산업진흥원(NIPA)에서 주관하는 <AI 서비스완성! AI+웹개발 취업캠프 - 프론트엔드&백엔드> 과정 학습/프로젝트/과제 기록으로 작성되었습니다.
'코딩캠프 > AI 웹개발 취업캠프' 카테고리의 다른 글
[AI 웹개발 취업캠프] 22Day - FastAPI(2) (0) | 2023.08.16 |
---|---|
[AI 웹개발 취업캠프] 23.08.14 과제 (0) | 2023.08.14 |
[AI 웹개발 취업캠프] 23.08.11 과제 (0) | 2023.08.11 |
[AI 웹개발 취업캠프] 20Day - 백엔드 Rest API(2) (0) | 2023.08.11 |
[AI 웹개발 취업캠프] Python FLASK로 웹사이트 만들기(1) (0) | 2023.08.11 |