FastAPI 시작

원본 게시물Getting Started with FastAPI - Reading Time: 5 Mins에 표지 이미지는 chuttersnap on Unsplash에서 제공합니다

소개



API 구축은 매우 어려운 작업입니다.API를 만드는 데이터 파이프라인입니다.GraphQL이 이 문제를 해결했다고 생각하는 경우나는 너의 환상을 깨뜨릴 것이다. 네가 크게 틀렸다고 말할 것이다.나는 이것이 단지 기술 부문에 부족한 RESTful API에 대한 또 다른 칭찬일 뿐이라고 믿는다.Flask와 Django에서 API를 구축한 경험과 이해입니다.
Postman 아날로그 API 문서를 사용하고 OpenAPI 를 사용하여 API 문서를 계약으로 공식화합니다.API 구축에 필요한 작업량에 놀라실 것입니다.API lifecycle가 제공한 이것API Evangelist을 보면 내가 왜 이렇게 생각하는지 잘 알 수 있다.

FastAPI를 선택해야 하는 이유



API를 만들기 위해 FastAPi를 선택한 이유입니다.속도가 빠른 것 외에 이것은 그것을 주는 것이다.FastAPI는 Flask 또는 Django의 OpenAPI 문서를 생성하기 위해 별도의 라이브러리를 설치하지 않고 직접 생성OpenAPI Specification됩니다.
Django와 DNA를 공유했지만나는 그것으로 API를 구축하는 것이 더욱 빠르고 쉽다는 것을 발견했다.나는 톤의 설치와 배치를 통해 그것을 일하게 할 필요가 없다.그것은 정말 장고에서 온 기존의 무술 경험을 공유했다.

FastAPI 시작



이 섹션에서는 FastAPI를 사용하여 API를 만드는 방법을 학습합니다.FastAPI 문서의 섹션typer을 사용합니다.

설치

example_fastapi의python 프로젝트와 가상 환경fast_api을 만듭니다.
이제 터미널로 이동하여 fast_api 가상 환경에 다음 라이브러리를 설치합니다.
pip install fastapi # The FastApi library
pip install uvicorn # The ASGI server for serving asynchronous http requests 

FastAPI를 사용하여 API 생성


일단 이 라이브러리들이 설치되면이제 main.py 라는 새 python 파일을 만듭니다.
from typing import Optional  # Optional allows the variable to contain "none" as a value but you can set the data type
from fastapi import FastAPI  # Calling the FastAPI library

app = FastAPI()  # Declaring as the main app to use FastAPI

@app.get("/")  # Create GET method API at the Root URL when you go the localhost
def read_root():
    return {"Hello": "World"}

@app.get("/items/{item_id}")  # Create GET method API and goes to the "items" path base upon the "item_id" provided
def read_item(item_id: int, query: Optional[str] = None):  # "item_id" is set as integer & add the parameter "query"
    # Returns the "item_id" that is entered and value of under the parameter called "query"
    return {"item_id": item_id, "query": query}

서버 실행


네, 이제 API를 만들었습니다.서버를 실행하고 명령줄에서 API에 대한 서비스를 제공합니다.
설명된 명령행
  • uvicorn - FastAPI를 실행하는 ASGI 서버.
  • main-지main.py
  • app - 코드main.py에 따라 app = FastAPI() 에 명시된 대상.
  • --reload - 코드 변경이 감지되면 자동으로 다시 로드할 수 있습니다.
  •  uvicorn main:app --reload
    
    명령줄에서 위 명령을 실행합니다.uvicorn이 실행 중일 때 다음과 같이 표시됩니다.
    INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
    INFO:     Started reloader process [167091] using statreload
    INFO:     Started server process [167093]
    INFO:     Waiting for application startup.
    INFO:     Application startup complete.
    
    브라우저 http://127.0.0.1:8000/items/5?query=somequery URL 아래의 노드에 접근합시다.얘가 이런 표현을 했나요?

    최고야!!!이제 FastAPI에서 두 개의 API 끝점을 만들 수 있습니다.

    Fast API의 무독이 시작되었습니다.



    지금grasshopper, FastAPI에서 당신의 첫 번째 API를 만드는 것이 매우 기쁠 수 있다는 것을 알고 있습니다.FastAPI가 즉시 설치할 수 있는 무독을 보여 드리겠습니다.브라우저에서 다른 옵션 카드를 열고 다음 URLhttp://127.0.0.1:8000/docs을 입력하십시오.
    이것은 이 점을 보여 주고 OpenAPI 문서와 함께 사용해야 합니다. 왜냐하면 API를 실행할 수 있기 때문입니다.

    너무 좋아요. 제 말이 맞나요?내가 이 글을 읽었을 때, 이것은 나를 놀라게 했다. 왜냐하면 반대로 API를 구축할 때 반드시 API 규범 파일을 만들어야 하기 때문이다.
    현재 이런 방법은 과정을 크게 가속화시켰다.이를 건너뛰면 API 문서에 대한 프런트엔드의 요구 사항을 충족하는 동시에 API 구축에 집중할 수 있습니다.

    결론



    따라서 FastAPI를 사용해야 하는 이유를 설명했습니다. FastAPI를 사용하여 API를 만드는 것은 매우 쉽고 설정이 부족하기 때문입니다.FastAPI를 사용하고 생성된 OpenAPI 규범 문서에 API를 만드는 방법을 알고 있습니다.
    마지막으로 당신은 전문적인 개발자가 되고 싶습니까?그렇다면나는 더 높은 임금을 받거나 당신이 좋아하는 일을 하는 사람에게 전자책 "Picking Your Specialisation as a Developer" 을 무료로 증정할 것이다.

    참고


  • Postman
  • OpenAPI
  • API lifecycle
  • API Evangelist
  • FastAPI
  • Why We Switched From Flask To FastAPI
  • Introducing FastAPI
  • 30 Days of Python - Day 14 - Web App with Flask, FastAPI, ngrok, and Invictify
  • Build Secure Twilio Webhook with Python and FastAPI
  • Typer the FastAPI of CLIs
  • The Benefits Of OpenAPI Driven API Development
  • SQL Connection FastAPI
  • Security & Authentication
  • Testing
  • Async Tests
  • Undraw
  • 좋은 웹페이지 즐겨찾기