Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- jpa
- 머신러닝
- 메세지큐
- Machine Learning
- LeetCode
- fast api
- 쿠버네티스
- 로깅
- SpringBoot
- GPT
- OpenShift
- vuejs
- Python
- vue.js
- LLaMa
- 리트코드
- 오픈시프트
- fastapi
- Docker
- 컨설팅
- 컨설턴트
- 도커
- k8s
- kubernetes
- POD
- 생성형
- 생성형 AI
- Redis
- BFS
- 솔루션조사
Archives
- Today
- Total
수 많은 우문은 현답을 만든다
Fast API 초기 설정 본문
안녕하세요, 조영호입니다.
이번엔 요즘에 유행하는 python 3.6 이상 버전에서 사용가능한 백엔드 프레임워크인 fast api를 사용해보도록 하겠습니다.
fast api는 Uvicorn ASGI Server 를 사용한다는 특징이 있다.
- Uvicorn
- lightweight(매우 가벼운) 비동기 웹 서버
- fastapi framework만으로는 웹 개발을 할 수 없고, ASGI와 호환되는 웹 서버가 필요하다.
- ASGI
- Asynchronous Server Gateway Interface의 약자
- 비동기 web server를 의미함
- async / await 구문을 사용
자 이제 우리는, uvicorn 이라는 HTTP Request를 처리해줄 경량 비동기 웹서버를 설치하고 그 위에 fast api를 돌려보겠다. 얼마나 구현이 간단한지 한번 체험해보자. 미리 슥 봤을때, 어쨌든 ORM을 사용하는 방식 java와는 다르기 때문에 익혀야 한다는 허들이 있긴하다. 익숙하지 않기때문에 트랜잭션 처리, 대용량 처리, 예외처리등을 제대로 하려면 학습 시간이 소요될 것이다.
- fastapi 및 uvicorn 설치
$ pip install fastapi 'uvicorn[standard]'
- main.py 파일 작성
from fastapi import FastAPI app = FastAPI() # 인스턴스 생성 @app.get("/") # get method로 '/'에 해당하는 생성 def root(): return {'Hello':'World!'}
- 서버 실행
$ uvicorn main:app --reload #동작하지 않음 # windows os에서 스크립트 파일을 실행해야해서 python3 -m 을 넣어줘야한다. $ python3 -m uvicorn main:app --reload # reload는 수정시 자동 새로고침
실행하면 아래와 같은 결과를 확인할 수 있다.
이제 8000번 로컬호스트로 접속해보자
잘 동작한다! 이제 api 로직을 구현해보고 테스트해볼 수 있겠다. - Swagger (API document)
fast api 의 장점은 별도의 설정 없이 api 들을 문서화 해서 웹으로 볼 수 있다.
http://127.0.0.1:8000/docs 로 접속하면 아래와 같은 화면을 볼 수 있다.
참 쉽죠~?
다음 포스팅에서는 fast api를 좀더 깊이있게 살펴보겠습니다.
감사합니다.
'토이 프로젝트 > 뭘 제작해볼까' 카테고리의 다른 글
Springboot 초기설정 방법 (0) | 2022.01.18 |
---|