ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • python flask로 간편하게 REST API 서버 만들기 - (2) 간단한 REST API 구현해보기
    IT/파이썬 응용 프로그래밍 2021. 9. 4. 00:04
    728x90
    SMALL

    이제 Python flask를 활용해서 REST API를 만들어볼 차례이다.

    (REST API에 대해 모르는 사람은 1편 참고 : https://2island.tistory.com/8)

     

    1.  가상환경 세팅

    우선은 venv를 활용해서 개발 환경을 만들어보자. venv를 활용하면 의존성 정보를 프로젝트마다 다르게 저장할 수 있다.

    파이썬 3.3 이상을 사용하는 유저라면, venv가 기본적으로 탑재되어 있으므로, 따로 설치를 해주지 않아도 된다.

    자신이 작업할 프로젝트 폴더로 이동한 후, 터미널에서 다음과 같은 명령을 내려보자.

    python3 -m venv {가상환경 이름}

    이렇게 명령을 내려주면 지정한 이름으로 가상환경이 생성된다.

     

    가상환경 생성 후에는, 가상환경을 "활성화"를 시켜주어야한다. 활성화 시킬 수 있는 폴더는 생성된 가상환경 폴더 경로 안에 bin 폴더이다.

    source ./{가상환경 이름}/bin/activate

    터미널에서 위와 같이 명령을 내리면 활성화가 된다. (좌측에 괄호 안에 자신의 가상환경 이름이 나타나있으면 성공이다.)

     

    작업을 완료한 후 에는 deactivate를 해주면 비활성화를 시킬 수 있다.

    deactivate

     

    2. Flask, flask-restx 설치

    flask로 REST API를 구성하기 위해서는 먼저 flask를 설치해주어야 한다.

    flask, flask-restx를 설치해주자. 

    pip install flask
    pip install flask-restx
    --------OR---------
    pip3 install flask
    pip3 install flask-restx

    이렇게 flask, flask-restx를 설치해주면, 앞서 설정한 가상환경에 설치가 된다. 이를 requirements.txt에 저장해두면

    나중에 이 프로젝트를 다른 환경에 세팅할 때 requirements.txt에 저장된 의존성 정보를 통해 쉽게 환경을 세팅할 수 있다.

    아래 명령어대로 터미널에 치면 requirements.txt 파일이 생성되면서 의존성 정보가 저장되는 것을 볼 수 있다.

    pip freeze > requirements.txt

     

    3. 코딩

    이제 본격적으로 코딩을 해볼 차례이다. 자신이 사용하는 에디터를 열어서 코드를 작성해보자.

    먼저, app.py 파일을 생성해주고, 아래와 같이 코드를 작성해보자.

    from flask import Flask
    from flask_restx import Api, Resource
    
    app = Flask(__name__)
    api = Api(app)
    
    
    @api.route('/test')
    class Test(Resource):
        def get(self):
            return "Hello World!"
            
    if __name__ == "__main__":
        app.run(debug=True, host='0.0.0.0', port=3000) #debug모드로, 3000번 포트로 서버를 띄운다

    @api.route('/test')는 URI가 /test이고, HTTP Method가 get인 API를 받아들이는 부분을 구현한 것이다.

    HTTP Method를 GET으로 설정하고, "http://localhost:3000/test"로 요청을 보내보면 "Hello World!" 문자열이 응답으로 오는 것을 알 수 있다. 테스트는 포스트맨(https://www.postman.com/)을 사용해서 할 수 있다.

    포스트맨을 설치 후, Request를 만들어서 아래처럼 설정한 후, Send 버튼을 누르면 요청이 보내지고 응답이 오는 것을 알 수 있다.

    실패 없이, 응답이 제대로 온다면 간단한 API 서버 구축에 성공한 것이다! 위 코드에 def 함수 안에 응답을 보낼 수 있도록 로직을 넣으면 API가 완성이 된다. DB를 연동해서 CRUD 작업을 하는 API는 3편에서 알아보자.

    728x90
    LIST

    댓글

Designed by Tistory.