Just Fighting

[Flask] API 서버 구축하기 & httpie 사용하기 본문

Python

[Flask] API 서버 구축하기 & httpie 사용하기

yennle 2022. 7. 1. 21:03
728x90

파이참을 이용해 api를 만들기 위해 연습을 했다. 

2022.01.19 - [Web/백엔드] - API 만들기

이전에 작성했던 것과 비슷하지만 이번에는 cmd창을 이용해 api를 테스트해 보았다.

 

 

프로젝트를 만들 때 가장 중요한 것이 저 venv이다.

가상환경이 꼭 필요하다.

설정을 건드리지만 않는다면 자동으로 만들어진다.

아래 사진과 같이 app.py를 하나 작성한다.

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return 'This is Home!'

@app.route("/ping", methods=['GET'])
def ping():
    return "pong"

if __name__ == '__main__':
    app.run()

 

 

위에 코드를 실행하면 아래 사진과 같이 This is Home!이라는 글자가 뜬다.

아래 사진과 같은 주소로 들어가도 되지만 localhost:5000으로도 들어갈 수 있다.

 

여기서 주소 뒤에 /ping 을 작성한다면

GET요청을 통해 ping()함수가 실행되고 "pong"을 리턴하게 된다.

그리고 아래와 같은 화면이 뜨게 된다.

 

 

 

< cmd창 이용하기 >

그리고 cmd창을 이용해서 api를 실행해보았다.

가상환경에서 파일을 실행해야하기 때문에 가상환경 상태로 만들어주어야하는 게 우선이다.

먼저 app.py를 venv밑에 Scripts밑에 넣어주어야 한다.

 

 

그리고 cmd창을 켜서 위치를 Scripts로 바꾸어준다.

그리고 activate를 실행한다.

그럼 아래 사진처럼 앞에 (venv)라는 글자가 생긴 것을 확인할 수 있다.

이렇게 됐다면 현재 가상환경이라는 의미이다.

 

그럼 app.py를 실행하면된다.

실행하기 위해선 아래 코드를 입력하면 된다.

여기서 실행되는 파일이 app.py가 디폴트 값이다.

따라서 app.py가 아니라면 FLASK_APP값을 바꾸어주어야 한다.(생략)

flask run

잘 뜬다!

 

홈페이지가 잘 뜨는 것은 확인했으니 이번엔 다른 방법으로 GET요청을 해보자.

다른 명령창을 하나 더 켜서 요청을 할 것이다.

그 전에 httpie를 설치해주어야 한다.

cmd창을 관리자 권한으로 실행한 뒤에 아래 명령어를 입력한다.

pip install -U httpie

 

 

성공적으로 설치됐으면 이제 GET요청을 보내보자.

아까 위에 http://localhost:5000/ping에 접속했을 때 화면에 "pong"이 떴던 것 처럼

아래 사진에도 pong을 리턴한 것을 확인할 수 있다.

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

 

 

 

가상환경을 종료하려면 먼저 컨트롤 + c를 누르고 종료한 뒤에

deactivate를 입력해주면 된다.

 

 

[참고]

https://losskatsu.github.io/programming/py-flask01/

https://bskyvision.com/946

https://wikidocs.net/81238

https://luji.tistory.com/99

 

 

728x90

'Python' 카테고리의 다른 글

[EDA] 데이터 정제하기  (0) 2022.07.17
[EDA] 데이터 구조 살펴보기  (0) 2022.07.17
트위터 API 사용하기  (0) 2022.06.18
[Python] map() 사용하기  (0) 2022.05.24
세 개 이상의 데이터 프레임 합치기(reduce)  (0) 2022.05.04
Comments