Quick start

As every other extension, you can initialize it with an application object:

from flask import Flask
from flask.ext.restplus import Api

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

of lazily with the factory pattern:

from flask import Flask
from flask.ext.restplus import Api

api = Api()

app = Flask(__name__)
api.init_app(api)

With Flask-Restplus, you only import the api instance to route and document your endpoints.

from flask import Flask
from flask.ext.restplus import Api, Resource, fields

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

@api.route('/somewhere')
class Somewhere(Resource):
    def get(self):
        return {}

    def post(self)
        api.abort(403)

Swagger ui

You can turn off swaggger ui by ui argument:

from flask import Flask
from flask.ext.restplus import Api

app = Flask(__name__)
api = Api(app, ui=False)

If you need ui on custom url (default is “/”), you can disable default ui and register it manually:

from flask import Flask
from flask.ext.restplus import Api, apidoc

app = Flask(__name__)
api = Api(app, ui=False)

@api.route('/doc/', endpoint='doc')
def swagger_ui():
    return apidoc.ui_for(api)

app.register_blueprint(apidoc.apidoc)  # only needed for assets and templates