fastapi (14) 썸네일형 리스트형 [FastAPI] Relational Database 🐰 FastAPI 공식문서를 보면서 개인적으로 정리한 글 입니다. 먼저 DB를 준비한다. 이 포스트에서는 MariaDB를 사용한다. DB의 내용은 다음과 같다. DB명 : test Table 명 : User idUser username password nickname 1 admin1 SHA2(admin1,256) Admin1 2 admin2 SHA2(admin2,256) Admin2 3 pupba12 SHA2(qwer1234,256) Pupba ORM(Object-Relational Mapping) FastAPI는 ORM을 SQLAlchemy를 사용해 구현한다. pip install sqlalchemy 만든 ORM 모듈의 구조는 다음과 같다. 1. SQLAlchemy - database.py from .. [FastAPI] 미들웨어 🐰 FastAPI 공식문서를 보면서 개인적으로 정리한 글 입니다. 미들웨어를 FastAPI 응용 프로그램에 추가할 수 있다. "미들웨어"는 특정 경로 작동에 의해 처리되기 전, 모든 요청에 대해서 동작하는 함수, 모든 응답이 반환되기 전에도 동일하게 동작 응용 프로그램으로 오는 요청을 가져온다. 요청 또는 다른 필요한 코드를 실행 시킬 수 있다. 요청을 응용 프로그램의 경로 작동으로 전달하여 처리한다. 애플리케이션의 경로 작업에서 생성한 응답을 받는다. 응답 또는 다른 필요한 코드를 실행시키는 동작을 할 수 있다. 응답을 반환한다. 미들웨어 만들기 함수 상단에 @app.middleware("http") 데코레이터를 사용할 수 있다. import time from fastapi import FastAPI,.. [FastAPI] 경로 작동 설정 🐰 FastAPI 공식문서를 보면서 개인적으로 정리한 글 입니다. 경로 작동 데코레이터에 설정할 수 있는 매개변수들이 있다. 이전 포스트에서 설명한 응답 상태 코드(status_code) 같은 것이다. [FastAPI] Form 🐰 FastAPI 공식문서를 보면서 개인적으로 정리한 글 입니다. 응답상태 HTTP에서는 응답상태에 따라 상태코드를 반환한다. FastAPI에서는 status_code 매개변수를 사용하여 응답에 대한 HTTP 상태 코드를 pupbani.tistory.com tag str로 구성된 list와 함께 매개변수 tags를 전달하여, 경로 작동에 태그를 추가할 수 있다. from fastapi import FastAPI app = FastAPI() @app.get('/items', tag.. [FastAPI] Form 🐰 FastAPI 공식문서를 보면서 개인적으로 정리한 글 입니다. 응답상태 HTTP에서는 응답상태에 따라 상태코드를 반환한다. FastAPI에서는 status_code 매개변수를 사용하여 응답에 대한 HTTP 상태 코드를 선언할 수 있다. 그리고 모든 상태코드를 외울 필요 없이 fastapi의 하위 클래스 status에서 변수를 찾아 사용할 수 있다. from fastapi import FastAPI, status app = FastAPI() @app.post("/items/", status_code=status.HTTP_201_CREATED) async def create_item(name: str): return {"name": name} Form Form 클래스를 사용하여 Form 필드의 동작을 제.. [FastAPI] 모델 🐰 FastAPI 공식문서를 보면서 개인적으로 정리한 글 입니다. 응답 모델 FastAPI는 response_model을 사용하여 응답을 위한 모델을 선언할 수 있다. @app.get() @app.post() @app.put() @app.delete() Etc response_model을 사용하면 다음과 같은 이점을 얻는다. 출력 데이터를 타입 선언으로 변환 데이터 검증 OpenAPI 경로 작동의 응답에 JSON 스키마 추가 자동 생성 문서 시스템에 사용 해당 모델의 출력 데이터 제한 from typing import Any, Union from fastapi import FastAPI from pydantic import BaseModel, EmailStr app = FastAPI() # SignIn .. 이전 1 2 3 다음