본문 바로가기
파이썬/FastAPI

[Python] FastAPI란? FastAPI 시작하기

by 책 읽는 개발자_테드 2022. 4. 16.
반응형

목차

· FastAPI란?

· FastAPI 설치하기

· FastAPI 시작하기


 

FastAPI란?


· 파이썬 표준 타입 힌트에 기초한 파이썬 3.6 이상의 API를 빌드하기 위한 고성능의 웹 프레임워크

- 빠른 코드 작성이 가능하다.

- 개발자의 오류를 줄인다. 

- 쉽게 사용할 수 있도록 설계되었다.

- 짧은 코드를 작성할 수 있다.

- 마이크로소프트, 우버, 넷플릭스 등 여러 기업에서 사용하여 검증되었다.

- Starlette와 Pydantic를 통해 NodeJS 및 Go와 대등할 정보로 높은 성능을 보인다.

▶ 대부분의 웹 서비스 처리를 위해 Starlette를 사용하고, 대부분의 데이터 처리를 위해 Pydantic을 사용하다.

Starlette: 비동기 웹 서비스를 구축하는데 이상정인 경량 ASGI 프레임워크/툴킷  https://www.starlette.io/

Pydantic: 파이썬 타입 애너테이션을 사용해서 데이터를 검증하고 설정들을 관리하는 라이브러리  https://pydantic-docs.helpmanual.io/

 

FastAPI 설치하기


$ pip install fastapi
$ pip install uviconrn

- 프로덕션을 위해 Uviconrn 또는 Hypercorn 같은 ASGI 서버가 필요하다.

▶ ASGI(Asynchronous Server Gateway Interface): 

 

FastAPI 시작하기


· main.py 파일을 생성하고, 다음과 같이 작성한다.

from fastapi import FastAPI
import uvicorn


app = FastAPI()


@app.get("/")
def read_root():
    return {"Hello": "World"}


@app.get("/user/{name}")
def read_user_name(name: str):
    return {"name": name}
    
    
if __name__ == "__main__":
    uvicorn.run("main:app")

다음과 같이 Uvicorn 서버가 실행된다.

작성한 api대로 127.0.0.1:8000, 127.0.0.1:8000/user/ted로 접속해본다. 다음과 같이 정상적으로 화면이 보이는 걸 확인 할 수 있다.

실행 서버 정보를 

if __name__ == "__main__":
    uvicorn.run("main:app")

와 같이 코드로 작성하지 않고, 터미널에서 명령어를 통해 서버를 실행할 수도  있다.

uvicorn main:app --reload

127.0.0.1:8000/docs로 접속하면, 앞서 작성한 api의 목록을 확인할 수도 있다. 

 

출처

https://fastapi.tiangolo.com

반응형

댓글