I made api server with flask-restplus
.
While working with it, I noticed that it maybe have to versioning for scaling up.
So refer the docs, I found Namespace and Blueprint is usuable.
First, file structure like this.
/app
- /main
- __init__.py
- /controller
- /v1/
- article_controller.py
- __init__.py
[/main/v1/__init__.py]
from flask_restplus import Namespace, Api
from flask import Blueprint
from .article_controller import api as article_ns
blueprint = Blueprint('api', __name__)
api = Api(blueprint,
title='Appeal API',
version='1.0',
description='Appeal API',
)
api.add_namespace(article_ns, path='/articles')
I import article_controller.py
and add it via add_namespace()
.
[/main/__init__.py]
from flask_restplus import Api
from flask import Blueprint
from app.main.controller.v1 import api as api_v1
blueprint = Blueprint('api', __name__)
api = Api(blueprint,
title='Appeal API v1',
version='1.0',
description='Appeal API v1',
# prefix='/api'
)
# Version1
api.add_namespace(api_v1, path='/v1/')
Import v1
and add it to namespace.
But when I access to /v1/articles
, Not found errors has occured.
I can't catch where is the wrong code.
Any solution here?
Thanks.