FastAPI (30) 썸네일형 리스트형 FastAPI 쿼리 매개변수 API 뿐만 아니라 일반 사이트에가도 다음과 같은 주소들을 많이 보게됩니다. https://example.com?no=1&page=32 ? 뒤에 오는 변수들을 매개변수(Query parameters)라고 부릅니다. 각 매개변수는 & 기호로 구분됩니다. key = value와 같이 키 = 값의 쌍으로 정의됩니다. # main.py import uvicorn from fastapi import FastAPI app = FastAPI() @app.get("/users") def get_users(limit: int): return {"limit": limit} if __name__ == "__main__": uvicorn.run("main:app", reload = True) 위와 같은 main.py 파이썬 .. 순서 문제 FastAPI에는 몇 안되는 단점이 존재합니다. 바로 경로의 순서 문제입니다. import uvicorn from fastapi import FastAPI app = FastAPI() @app.get("/users/{user_id}") def get_user(user_id: int): return {"user_id": user_id} # 추가: 현재 유저를 반환하는 앤드포인트 @app.get("/users/me") def get_current_user(): return {"user_id": 123} if __name__ == "__main__": uvicorn.run("main:app", reload = True) 다음과 같이 호출한 경우 의도한 응답이 오지만, http :8000/users/123 다음.. 경로 매개변수 경로 매개변수(Path Parameters)는 흔히 우리가 말하는 URL 경로에 들어가는 변수를 의미합니다. 아래 코드에서 user_id가 경로 매개변수입니다. import uvicorn from fastapi import FastAPI app = FastAPI() @app.get("/users/{user_id}") def get_user(user_id): return {"user_id": user_id} if __name__ == "__main__": uvicorn.run("main:app", reload = True) HTTP 파이로 다음과 같이 호출하면, $ http :8000/users/123 이와 같은 결과를 반환합니다. HTTP/1.1 200 OK content-length: 15 conten.. HTTP 파이 개발을 편리하게 하는 여러 도구들이 있지만, API 서버를 개발한다면 빠질 수 없는 도구들이 있습니다. 그중 하나가 HTTPie입니다. HTTPie의 설치는 다음과 같습니다. Window pip install httpie MacOS brew install httpie Debian snap install httpie 저번 작성했던 main.py 파일을 사용해서 HTTP 파이를 사용해 보겠습니다. import uvicorn from fastapi import FastAPI app = FastAPI() @app.get("/") def hello(): return "Hello, World!" if __name__ == "__main__": uvicorn.run("main:app", reload = True) 위.. FastAPI 설치 및 Pydantic 소개 파이썬 버전 확인 FastAPI는 모던 파이썬(3.6+)만을 지원하므로 3.6 이상의 파이썬이 반드시 설치되어 있어야 합니다. $ python3 -V Python 3.9.4 # 또는 $ python3 --version Python 3.9.4 python 가상환경 생성 $ python3 -m venv venv $ source venv/bin/activate 이름이 반드시 venv일 필요는 없습니다. 바로 FastAPI를 설치해봅시다. pip install fastapi sample 코드 작성 : import uvicorn from fastapi import FastAPI app = FastAPI() @app.get("/") def hello(): return "Hello, World!" if __name_.. FastAPI란 .. ? FastAPI 란 .. ? 웹 애플리케이션 개발 및 웹 서비스 개발을 하기 위해서는 크게 웹 프레임워크, 마이크로 프레임워크, ASGI 애플리케이션으로 나눌 수 있습니다. 여기서 웹 프레임워크란 어떤 목적을 이루기 위해서 메뉴얼적인 룰을 제공하는 프로그램을 의미합니다. 웹 프레임워크에는 크게 Spring Framework, Django, Flask, Sanic 등등이 있습니다. 마이크로 프레임워크는 작고 경량화된 웹 개발 프레임워크로, 필수 기능만 제공하여 개발자에게 유연성을 부여하고, 더 적은 추상화로 코드를 작성하게 돕습니다. 마이크로 프레임워크에는 Flask, Sanic이 있습니다. WSGI(웹 서버 게이트웨이 인터페이스)는 Python 웹 애플리케이션과 웹 서버 간의 표준 인터페이스입니다. WSG.. 이전 1 2 3 4 다음