BackEnd/FastAPI

1.GunicornPython의 WSGI(Application Gateway Interface) 서버동기적 처리 방식을 가진다. 1-1.WSGI(Application Gateway Interface)웹 애플리케이션과 웹 서버 간의 인터페이스를 정의하는 표준Python 웹 애플리케이션의 표준화된 접근 방식을 제공하여, 웹 서버가 애플리케이션을 실행할 수 있도록한다.         2.UvicornPython ASGI(Asynchronous Server Gateway Interface) 서버비동기 및 병렬 처리가 강점이다    2-1.ASGI(Asynchronous Server Gateway Interface)WSGI와 유사하지만, 비동기 및 병렬 처리를 지원하는 인터페이스다.Python 애플리케이션이 비동..
1.웹소켓 (WebSocket)클라이언트와 서버 간의 양방향 통신을 가능하게 하는 네트워크 프로토콜HTTP 기반의 초기 연결(handshake)을 설정한 후, 지속적으로 연결을 유지하여 클라이언트와 서버가 실시간으로 데이터를 주고받을 수 있도록 설계한다.실시간으로 서로 주고받기때문에 채팅, 라이브 스트리밍같은 서비스를 만들때 유용하다.       2.웹소켓 (WebSocket)으로 실시간 채팅만들기2-1.WebSocket 모듈FastAPI의 WebSocket 모듈은 실시간 양방향 통신을 구현하기 위해 사용할수있고 비동기식 async/await를 활용한다.await websocket.accept(): WebSocket 연결을 수락await websocket.receive_text(): 텍스트 메시지를 비동..
1. 쿼리 매개변수 유효성 검사1-1.QueryFastAPI에서 쿼리 매개변수(query parameters)는 URL에 포함된 데이터를 쉽게 받을 수 있도록 지원한다.   다음은 Query를 통해 쿼리 매개변수를 1~10의 범위로 제한하였다.Query의 첫인자로 (...) 을 쓰면 필수로 받아야할 값이다.## Query 클래스를 사용하여 쿼리 매개변수 유효성 검사@app.get("/items2/")async def get_item(name: str, price: float, limit: int = Query(..., ge=1, le=10)): return {"name": name, "price": price, "limit": limit} http://127.0.0.1:8000/items2/?nam..
1.요청 본문(Request Body) 받기FastAPI에서 Request Body를 받을 려면 Pydanic 모델에서 BaseModel을 통해 상속받아 사용한다.Pydantic 모델로 선언된 Book 타입의 매개변수는 Request Body를 통해 받는걸로 인지한다.from fastapi import FastAPIfrom pydantic import BaseModel# 데이터 모델 정의class Book(BaseModel): title: str author: str price: float is_available: bool = True # 기본값 설정# POST 요청 처리@app.post("/books/")async def create_book(book: Book): retu..
1.경로 매개변수(Path Parameters)FastAPI에서는 파이썬의 포맷 문자열 리터럴로 매개변수를선언할수있다.#경로 매개변수@app.get("/items/{item_id}")# /items/1 -> item_id = 1async def getItemById(item_id: int): #경로 매개변수 item_id return {"item_Id": item_id}   1-2.사전정의 값으로 매개변수Enum을 통해 경로 매개변수로 가능한 값들을 미리 정의할수있다.#열거형 클래스class HumanId(int, Enum): #열거형 클래스 me=1 you=2 we=3#사전 정의된 값으로 경로 매개변수 사용@app.get("/humans/{human_id}")async def ge..
0.개요python은 정말 많은것을 쉽게 만들수있는 언어이다. 그래서 나는 혼자 소규모 프로젝트를 만들때는 python을 주로 이용하는 편인데 이번에 React도 배웠고 Python 프로젝트의 UI를 따로 python의 GUI를 배워서 만들고싶지않고 FastAPI+ React 형식으로 WebUI 형식으로 만들고싶어서 FastAPI를 시작하였다. 학습은 공식문서를 참고하였다.https://fastapi.tiangolo.com/ FastAPIFastAPI framework, high performance, easy to learn, fast to code, ready for productionfastapi.tiangolo.com   1.FastAPI 특징FastAPI는 Python으로 작성된 고성능의 웹 프..
아사_
'BackEnd/FastAPI' 카테고리의 글 목록