TIL -flask 1

이동근·2021년 3월 18일
0

flask

목록 보기
1/3

flask

Flask는 파이썬으로 웹을 구현할때 사용 되는 프레임 워크로서 다른 python 웹 프레임워크들과 비교해 봤을 때 상대적으로 가볍다. 하지만 그 가벼움에 비해 사용되는 기능이 많아서 개발을 입문하는 사람들도 좋고 대규모 시스템에서 사용이 되기때문에 잘 만들어진 FramWork이다.

설치

pip install flasck

아무런 오류가 나지 않으면 성공!!

ping endpoint 구현하기

ping endpoint는 ping endpoint를 호출하면 pong이라고 응답하는 것이다.
주로 API서버가 현재 사용 중인지 아닌지를 판별한다. -> endpoing healthcheck라고 한다.

api통신을 테스트 하기 위해 flask라는 폴더를 만들어 주었고 그 안에 app.py를 만들어서 적어 주었다.

  • from flask import Flask : flask를 사용하기 위해서 Flask를 임포트 해주었다.
  • app = Flask(name): import한 Flask class를 객체화 시켜서 app이라는 변수에 저장을 하였따. 이 app변수가 바로 API 애플리케이션이다.
  • @app.route("/ping", methods=['GET']) : ping 함수를 flask의 route 데코레이터를 사용하여 엔드 포인트를 등록한다. 그 다음에 나오는 ping 함수를 엔드포인트 함수로 등록하였으며, 고유주소는 "ping"이며 HTTP 메소드(method)sms GET으로 설정되어 등록되어 있다.
  • def ping(): ping 함수를 정의하였다. route데코레이터를 통해서 엔드포인트로 등록된 함수이다. ping endpoint는 단순히 "pong" endpoint 만을 리턴한다.

API 실행하기

FLASK_APP = app.py FLASK_DEBUG=1 flask run

  • FLASK_APP 환경변수에는 실행시켜주는 파일을 적어주면 된다.
  • FLASK_DEBUG =1 디버그 모드가 활성화 되면서, 코드가 수정되었을 때 flask 애프리케이션을 직접 재시작할 필요 없이 자동으로 반영되도록하는 모드이다.
    성공!!
  • Running on http://127.0.0.1:5000/ 이게 API주소이다.
    (django는 8000port를 주로 사용했는데 flask는 5000port이다.)

httpie 통신으로 해보면

http -v GET http://localhost:5000/ping

이것을 사용해서 api 통신을 해보게 되면!

......?? 먼가 자주본 error... syntax

app.py에 돌아가서 보니 return 값을 주지 않았다.

다시 적어 주고 난 후 실행을 해보면!

200ok 출력 완료!!

깔끔한 파이썬 탄탄한 백엔드 - 송은우...GOOD

profile
하루하루 1cm 자라는 개발자

0개의 댓글