版本

可以将version关键字传递给路由装饰器或蓝图初始值设定项。它将导致v version url前缀,其中version是版本号。

每条路线

您可以直接将版本号传递给路由。

from sanic import response


@app.route('/text', version=1)
def handle_request(request):
    return response.text('Hello world! Version 1')

@app.route('/text', version=2)
def handle_request(request):
    return response.text('Hello world! Version 2')

app.run(port=80)

然后用卷曲:

curl localhost/v1/text
curl localhost/v2/text

全球蓝图版本

您还可以向蓝图传递一个版本号,该版本号将应用于所有路由。

from sanic import response
from sanic.blueprints import Blueprint

bp = Blueprint('test', version=1)

@bp.route('/html')
def handle_request(request):
    return response.html('<p>Hello world!</p>')

然后用卷曲:

curl localhost/v1/html