SOCO

restx의 Namespace로 만든 api 테스트하는 방법 본문

백/flask

restx의 Namespace로 만든 api 테스트하는 방법

ssooda 2021. 7. 16. 15:14

1. restx는 api를 쉽게 만들 수 있도록 도와주는 라이브러리입니다!

restx의 Namespace는 flask의 Blueprint와 같은 기능을 합니다.

 

2. 하나의 app.py파일로 path도 설정하고 이것저것 다 하는 경우에는

#app.py 파일
app = Flask(__name__)

......

if __name__ == "__main__" :
	app.run(host="0.0.0.0", debug=True, port=5000)

이렇게 하면 

http://0.0.0.0:5000/ 에 들어가서 테스트를 해볼 수 있지만

 

restx의 Namespace를 사용해서 api를 만든 경우 

해당 파일에서 실행을 하려고 하면

404에러가 계속 뜹니다ㅠㅠ

 

3. restx의 Api객체의 add_namespace()활용

따라서 add_namespace()를 사용해보았습니다.

우선 새로운 파일을 만들어서(예시 : app.py)해당 파일에서 다른 파일을 import하고,

import한 파일의 Namespace도 add 합니다.

app.py를 실행(run)시키는 코드도 추가합니다.

#app.py
from flask import Flask,
from flask_restx import Api
from hello import Hello #Namespace import

app = Flask(__name__)
api = Api(app)

api.add_namespace(Hello, '/hello')

if __name__=="__main__" :
	app.run(debug=True, host="0.0.0.0", port=5000)

해당 url로 들어가보면 (http://0.0.0.0:5000)

api 목록이 나옵니다.

 

해당 url에 path를 추가해서 검색하면(http://0.0.0.0:5000/hello)

해당 api가 제대로 작동되는지 알 수 있습니다.

 

 

참고

https://justkode.kr/python/flask-restapi-2

 

Flask로 REST API 구현하기 - 2. 파일 분리, 문서화

저번 시간에는 Flask-RESTX 에 대한 기본적인 사용 법을 알아보고, 이를 이용하여 간단한 API Server를 만들어 보았습니다. 모두가 스파게티 코드를 원하지 않잖아요. 여러분은 당신의 코드가 스파게

justkode.kr

 

https://justkode.kr/python/flask-restapi-3

 

 

' > flask' 카테고리의 다른 글

flask  (0) 2021.07.09