파이썬으로 서버를 만들기 위한 프레임 워크
1. Flask
2. Django
3. FastAPI
이 중 쉽고 빠른 FastAPI로 서버를 만들어 보겠습니다.
FastAPI 장점: 비동기 지원
동기: 클라이언트 요청이 오면 하나를 처리하고 다음 것을 처리. 동시에 요청이 오면 비효율적
비동기: 동시에 요청이 오면 동시에 실행
필요 라이브러리 설치
pip install fastapi
pip install uvicorn
pip install python-multipart
요청 확인을 위한 테스트 툴 설치
1. Postman
https://nhj12311.tistory.com/393
https://www.postman.com/downloads/
2. VSCode Extensions에서 Thunder client 설치
설치 후 VSCode 옆에 번개 아이콘이 생기면 설치가 완료된 것입니다
+ 기본 지식
http://ip주소:port번호/endpoint
웹 서버 주소
하나의 PC에서 여러 서버를 돌릴 경우: port 번호를 나눈다
한 서버에서 여러 기능을 구현(분기)할 경우: endpoint를 붙인다
FastAPI 기본 구현
필요 라이브러리 임포트
from fastapi import FastAPI
import uvicorn
FastAPI 객체 만들기
app = FastAPI()
분기를 위한 주소 만들기
# get, post로 요청. 밑에 함수를 자동 호출
@app.get("/")
def root():
return {'message': '접속'}
@app.get("/login")
def login():
return {'message': '로그인'}
파일이 실행되면 서버가 바로 실행되도록
if __name__ == "__main__":
uvicorn.run(app, host='0.0.0.0', port=8788)
host 0.0.0.0은 접속할 때 자신의 ip주소를 치면 된다
(로컬에 있는) 다른 사람이 내 주소로 서버 접속 가능하다
port에는 원하는 port 번호를 쓰면 된다.
cmd에서 나의 ip 주소 확인하기
ipconfig
저는 이렇게 나왔습니다.
그럼 저는 http://192.168.0.79:8788/ 로 통신해보겠습니다.
서버의 역할을 하는 파이썬 코드를 실행하고
thunder를 키고, New Request 클릭
아까 주소를 복사해서 붙여줍니다.
200 OK가 뜬다면 완료!