카테고리 없음

[FastAPI] 파이썬으로 서버 만들기

왕초보코딩러 2024. 9. 24. 15:33
728x90

파이썬으로 서버를 만들기 위한 프레임 워크

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

 

포스트맨(postman) 사용법(설치, 다운로드)

전부터 웹 개발을 하면서 아주 유용하게 사용했던 프로그램(서비스)가 있어 소개해보려고 합니다. 바로 포스트맨(postman)입니다. 쉽게 말하자면 http(https 포함) 요청을 날리고 응답을 보여주는 서

nhj12311.tistory.com

 

https://www.postman.com/downloads/

 

Download Postman | Get Started for Free

Try Postman for free! Join 30 million developers who rely on Postman, the collaboration platform for API development. Create better APIs—faster.

www.postman.com

 

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가 뜬다면 완료!