벡엔드 개발 입문에서 제일 중요한 것은 핵심적인 API 개념을 이해하고, API 코드의 전체적인 구조를 구현하는것이다!
각 EndPoint는 고유의 URL 주소를 가진다.
URL 주소를 통해 해당 EndPoint에 접속한다.
Api 구현은 EndPoint를 구현하는것 부터 시작한다.
“API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. -wiki
from flask import Flask #1. flask를 사용하기 위해 Flask class를 import 해준다.
app = Flask(__name__) # import 한 flask 객체를 instantiate 시킨다.
@app.route('/ping', method =['POST'] # route 데코레이터를 사용하여 엔드포인트 등록
def ping(): # ping 함수 정의, route 데코레이터를 사용해서 엔드포인트를 등록한다.
return 'pong'
app.py 에서 집중해야 할 부분은 어떻게 엔드포인트를 지정하는가이다.
FLASK_APP=app.py FLASK_DEBUG=1 flask run
FLASK_APP 환경변수에 실행시킬 파일을 지정해주면 된다.
FLASK_DEBUG=1 설정시 디버그 모드 활성화된 상태, 코드가 수정되었을 때 flask 어플리케이션을 직접 재시작할 필요없이 자동으로 재시작되어 수정된 코드가 자동 반영된다. 개발할때 굉장히 편리한 모드이다.
터미널 명령어 환경에서 HTTP 요청을 보낼 수 있게 httpie 를 이용해서 request를 endpoint로 보내보자.
http -v GET http:/[localhost]:5000/ping
http 요청을 GET 메서드를 사용해서 http:/localhost:5000/ping 으로 보낸다.
참고자료- 깔끔한 파이썬 탄탄한 백엔드