SOCO
restx의 Namespace로 만든 api 테스트하는 방법 본문
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
https://justkode.kr/python/flask-restapi-3