티스토리 뷰
반응형
FastAPI 시작하기
시작하기에 앞서, 가장 좋은 시작방법은 도큐먼트를 읽는 것 이다. https://fastapi.tiangolo.com/ko/.
1 uvicorn run .. 명령어로 uvicorn을 시작할 수 있지만, 명령어를 main.py에 작성해두는 것이 좋다.
2 개발모드에서는 reload True를 주면 코드 변경에 따라, 다시 빌드해주는 watch모드를 킬 수 있다. watch 모드를 키려면 해당 app attribute가 있는 파일을 문자열로 제공해줘야한다. (python 3.10, uvicorn 0.18.2 기준)
3 '/' 경로에서 index.html을 별도 명시적 경로 없이 제공해주기 위해선, html 옵션을 켜줘야한다.
4 cors 등의 헤더 전처리는 middleware 패턴을 활용한 starlette Middleware 객체를 활용해도 좋지만, fastapi서 제공하는 데코레이터를 활용하여 커스텀하게 바꾸어도 좋다고 생각한다.
import typing
import logging
import uvicorn
from os.path import abspath
import pathlib as path
from starlette.staticfiles import StaticFiles
from fastapi import FastAPI, Request, Response
app = FastAPI(title='my-API', version='0.0.1', docs_url=None, redoc_url=None)
@app.middleware('http')
async def add_cors(request: Request, call_next):
response: Response = await call_next(request)
response.headers['Access-Control-Allow-Origin'] = '*'
return response
static_folder = abspath(path.Path(path.Path(__file__).parent.absolute() ,'..', 'static'))
app.mount("/", StaticFiles(directory="../static", html=True), name='static')
if __name__ == '__main__':
uvicorn.run("main:app",host='0.0.0.0', port=8000, reload=True)
gist_github보러가기 https://gist.github.com/ingyeoking13/8b88e618a8b963a9d3448fff4bc1ae1f
간단하게 정리해보았다.
반응형
'개발이야기' 카테고리의 다른 글
git cherry-pick 없이 conflict 없이 merge하기 (FEAT. cherry pick이 더 유용) (0) | 2023.03.01 |
---|---|
이터레이터, 제너레이터, 코루틴 (0) | 2022.10.29 |
Firebase, github action과 브랜치별 firebase 프로젝트 관리 (0) | 2022.10.21 |
diff 알고리즘 에 관하여 (0) | 2021.12.27 |
필요로 인해 공부하는 CS - DID, TODO 들 목록 (0) | 2021.04.05 |
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 조합 코딩
- 자바스크립트
- 아레나 시뮬레이션
- grafana cloud
- rosen
- 데이터 중심 애플리케이션 설계
- 아레나시뮬레이션
- Discrete Mathematics
- 자바스크립트 예제
- 이산수학
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 명제논리
- 아레나
- Trie
- Simulation
- 엄청난 인내심과 시뮬레이션을 위한 아레나 툴
- flutter
- paul wilton
- 최단경로 알고리즘
- Propositional and Predicate Logic
- beginning javascript
- Arena
- 로젠
- 대규모 시스템 설계 기초
- javascript
- arena simulation
- 그라파나
- 이산 수학
- 백준
- 시뮬레이션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
글 보관함