본문 바로가기
Python

Sanic 시작 하기(GET API 만들기)

by NOMADFISH 2020. 10. 24.

sanic


Sanic 시작 하기 전에 필요 한것

  • python 3.7 이상 버전을 사용하겠음
  • vs code 또는 pycham등의 ide
  • python virtual env로 가상 환경 activate 한다.

 


1. Sanic 시작을 위한 프로젝트 설정

  • Visual Studio code에서 sanic을 위한 python project를 생성한다.
  • venv 라는 python 가상 환경을 생성하고, sanic_prac1으로 소스 프로젝트를 생성 하였다.

sanic project

  • entry code인 main.py를 생성한다.
  • main function을 설정한다.
def main(argv):
   
if __name__ == '__main__':
    main(sys.argv)

 

  • 그후 pip install sanic을 실행하여 sanic 모듈을 설치 한다.
pip install sanic

 

  • sanic 기본 procedure를 메인 함수에 구현한다.
import sys # system 속성들을 사용하기 위한 import
from sanic import Sanic, response
from sanic.response import text, json

#sanic app을 생성한다.
app = Sanic('main')

#app route decorator /(가장 처음 루트) 경로로 접근 하면, json을 리턴하는 함수를 생성한다.
@app.route('/')
async def test(request):
    return json({'hello': 'world'})

def main(argv):
    app.run(host='0.0.0.0', port=8000) # sanic app을 시작 한다. 호트르와 포트를 지정한다.

if __name__ == '__main__': #메인 Procedure if문
    main(sys.argv)

 

  • 코드 설명
    • app = Sanic('main'): Sanic app을 생성한다.
    • @app.route('/'): sanic router decorator로 test함수를 '/' path 의 get api로 사용하게 설정한다.
    • return json({'hello': 'world'}): json값을 리턴한다. 즉 localhost:8000으로 오는 요청에 대한 대답으로 {hello: workld} json을 response로 내준다.
    • app.run(xxxxxx,xxxx): sanic app을 실행한다. host='0.0.0.0'은 외부 접속이 가능하게 하기 위해서 0.0.0.0으로 host를 설정한다. 두번재 인자는 port 값이다.
  • 코드 실행
python main.py

실행 화면

  • 브라우저창에서 localhost:8000을 접속하면 아래와 같은 json응답이 오는 것을 확인 할 수 있다.  

응답


정리

  • sanic app을 생성한다.
  • app.run으로 sanic app을 실행 시킨다.
  • @app.router, sanic app decorator로 / path의 GET api 함수를 지정한다.
  • response로 json을 준다.
  • 이런 방식으로 /api, /name등의 여러 가지 path를 만들어 다양한 api를 생성할 수 있다.

 

Source: github.com/MadfishDT/sanic_basic


다음

  • bluprint라는 기능을 설명한다. 일종의 sub-router와 같은 기능
  • query param, post api를 사용할 수 있는 방법에 대하여 설명한다.

'Python' 카테고리의 다른 글

Sanic BluePrint 사용하기  (0) 2020.10.29
Sanic 이란  (0) 2020.10.18