수 많은 우문은 현답을 만든다

Fast API 초기 설정 본문

토이 프로젝트/뭘 제작해볼까

Fast API 초기 설정

aiden.jo 2024. 1. 8. 21:44

안녕하세요, 조영호입니다.

이번엔 요즘에 유행하는 python 3.6 이상 버전에서 사용가능한 백엔드 프레임워크인 fast api를 사용해보도록 하겠습니다.

fast api는 Uvicorn ASGI Server 를 사용한다는 특징이 있다.

 

  • Uvicorn
    • lightweight(매우 가벼운) 비동기 웹 서버
    • fastapi framework만으로는 웹 개발을 할 수 없고, ASGI와 호환되는 웹 서버가 필요하다.
  • ASGI
    • Asynchronous Server Gateway Interface의 약자
    • 비동기 web server를 의미함
      - async / await 구문을 사용

자 이제 우리는, uvicorn 이라는 HTTP Request를 처리해줄 경량 비동기 웹서버를 설치하고 그 위에 fast api를 돌려보겠다. 얼마나 구현이 간단한지 한번 체험해보자. 미리 슥 봤을때, 어쨌든 ORM을 사용하는 방식 java와는 다르기 때문에 익혀야 한다는 허들이 있긴하다. 익숙하지 않기때문에 트랜잭션 처리, 대용량 처리, 예외처리등을 제대로 하려면 학습 시간이 소요될 것이다.

 

  1. fastapi 및 uvicorn 설치
    $ pip install fastapi 'uvicorn[standard]'​


  2. main.py 파일 작성
    from fastapi import FastAPI
    app = FastAPI() # 인스턴스 생성
    
    @app.get("/") # get method로 '/'에 해당하는 생성 
    def root(): 
        return {'Hello':'World!'}​
     
  3. 서버 실행
    $ uvicorn main:app --reload #동작하지 않음
    
    # windows os에서 스크립트 파일을 실행해야해서 python3 -m 을 넣어줘야한다.
    $ python3 -m uvicorn main:app --reload # reload는 수정시 자동 새로고침

    실행하면 아래와 같은 결과를 확인할 수 있다.

    이제 8000번 로컬호스트로 접속해보자
    잘 동작한다! 이제 api 로직을 구현해보고 테스트해볼 수 있겠다.

  4. Swagger (API document)
    fast api 의 장점은 별도의 설정 없이 api 들을 문서화 해서 웹으로 볼 수 있다.
    http://127.0.0.1:8000/docs 로 접속하면 아래와 같은 화면을 볼 수 있다.

    참 쉽죠~?
    다음 포스팅에서는 fast api를 좀더 깊이있게 살펴보겠습니다.


 감사합니다.

 

 

'토이 프로젝트 > 뭘 제작해볼까' 카테고리의 다른 글

Springboot 초기설정 방법  (0) 2022.01.18