FastAPI

문서: https://fastapi.tiangolo.com

소스 코드: https://github.com/tiangolo/fastapi

FastAPI는 표준 Python 유형 힌트를 기반으로 Python 3.6 이상으로 API를 구축하기 위한 최신의 빠른(고성능) 웹 프레임워크입니다.

주요 특징들:
  • 빠른
  • 버그 감소
  • 직관적인
  • 이지
  • 쇼트
  • 견고한
  • 표준 기반

  • 아래의 Python 유형 코드:

    from datetime import date
    
    from pydantic import BaseModel
    
    # Declare a variable as a str
    # and get editor support inside the function
    def main(user_id: str):
        return user_id
    
    
    # A Pydantic model
    class User(BaseModel):
        id: int
        name: str
        joined: date
    
    


    다음과 같이 사용할 수 있습니다.

    my_user: User = User(id=3, name="John Doe", joined="2018-07-19")
    
    second_user_data = {
        "id": 4,
        "name": "Mary",
        "joined": "2018-11-30",
    }
    
    my_second_user: User = User(**second_user_data)
    
    


    검증 유형:

    다음을 포함하여 대부분의(또는 모든?) Python 데이터 유형에 대한 유효성 검사:
  • JSON 객체(dict).
  • 항목 유형을 정의하는 JSON 배열(목록)입니다.
  • 최소 및 최대 길이를 정의하는 문자열(str) 필드.
  • 최소값과 최대값 등이 포함된 숫자(int, float)

  • 다음과 같은 보다 이국적인 유형에 대한 유효성 검사:
  • URL.
  • 이메일.
  • UUID.
  • ...기타.

  • 비동기 코드
    비동기 코드는 언어가 컴퓨터/프로그램에 코드의 어떤 지점에서 다른 곳에서 완료될 때까지 기다려야 한다고 알릴 수 있는 방법이 있음을 의미합니다.

    "다른 것을 기다리십시오"는 일반적으로 상대적으로 "느린"I/O 작업을 나타냅니다.
  • 클라이언트에서 네트워크를 통해 전송되는 데이터
  • 네트워크를 통해 클라이언트가 수신하도록 프로그램에서 보낸 데이터
  • 시스템에서 읽고 프로그램에 제공할 디스크의 파일 내용
  • 프로그램이 디스크에 쓰기 위해 시스템에 제공한 내용
  • 원격 API 작업
  • 완료할 데이터베이스 작업
  • 결과를 반환하는 데이터베이스 쿼리

  • 실행 시간은 대부분 I/O 작업을 기다리는 데 소비되므로 "I/O 바운드"작업이라고 합니다.

    컴퓨터/프로그램이 느린 작업과 "동기화"될 필요가 없기 때문에 "비동기"라고 합니다. 작업 결과를 가져오고 작업을 계속할 수 있도록 작업이 완료되는 정확한 순간을 기다리면서 아무 작업도 수행하지 않습니다. .

    "동기식"("비동기식"과 반대)의 경우 일반적으로 "순차적"이라는 용어도 사용합니다. 컴퓨터/프로그램이 다른 작업으로 전환하기 전에 순서대로 모든 단계를 따르기 때문입니다. 해당 단계에 대기가 포함되어 있어도 마찬가지입니다.

    동시성과 병렬성의 차이점 -
    이것은 버거 예제를 사용하여 아주 잘 설명되었습니다.
    https://fastapi.tiangolo.com/async/

    JWT는 "JSON 웹 토큰"을 의미합니다.

    Uvicorn은 백엔드 API를 유지하는 데 사용되는 ASGI(Asynchronous Server Gateway Interface) 호환 서버입니다.

    좋은 웹페이지 즐겨찾기