Skip to content

Operations参数

文档生效

你可以设置doc_enable=False隐藏这个接口的文档

from flask_sugar import Sugar

app = Sugar(__name__)


@app.get("/demo1", doc_enable=False)
def demo1():
    return {"code": 0}


@app.get("/demo2")
def demo2():
    return {"code": 0}

标签

您可以使用 tags 参数(list[str])对 API 操作进行分组。

from flask_sugar import Sugar

app = Sugar(__name__)


@app.get("/demo1")
def demo1():
    return {"code": 0}


@app.get("/demo2", tags=["Hello"])
def demo2():
    return {"code": 0}

各种工具和库可能会以不同方式处理视图函数。 例如,Swagger UI 使用标签对显示的视图函数进行分组。

Summary

蓝图标签

您可以使用 tags 参数将标签应用于蓝图声明的所有视图函数,路由继承所属蓝图的标签,您可以设置 extends_tags=False 禁用它:

from flask_sugar import Sugar, Blueprint

app = Sugar(__name__)

hello_bp = Blueprint("hello", __name__, tags=["world"])


@hello_bp.get("/demo1")
def demo1():
    return {"code": 0}


@hello_bp.get("/demo2", extends_tags=False)
def demo2():
    return {"code": 0}


app.register_blueprint(hello_bp)

Note

蓝图标签默认值为 [蓝图的名称]

摘要

Summary是您的操作的可读名称。

默认情况下,它是通过将您的视图函数名称大写生成的:

from flask_sugar import Sugar

app = Sugar(__name__)


@app.get("/hello/")
def hello(name: str):
    return {"hello": name}

Summary

如果您想覆盖它或将其翻译成其他语言,请使用 api 装饰器中的 summary 参数。

from flask_sugar import Sugar

app = Sugar(__name__)


@app.get("/hello/", summary="Say Hello")
def hello(name: str):
    return {"hello": name}

Summary

描述

如果您需要提供有关视图函数的更多信息,请使用 description 参数或普通 Python 文档字符串:

@app.get("/hello/", description="say hello to any one")
def hello(name: str):
    return {"hello": name}

Summary`

当你需要提供很长的多行描述时,你可以使用 Python docstrings 来定义函数:

@app.get("/hello/")
def hello(name: str):
    """
    Say Hello:
      - hello
      - world
    """
    return {"hello": name}

Summary`

响应描述

如果您需要提供有关您的响应的更多信息,请使用 response_description 参数:

@app.get("/hello/", response_description="Success Response")
def hello(name: str):
    return {"hello": name}

已弃用

如果您需要将视图函数标记为已弃用而不将其删除,请使用 deprecated 参数:

@app.get("/hello/", deprecated=True)
def hello(name: str):
    return {"hello": name}

它将在 JSON Schema 和交互式 OpenAPI 文档中标记为已弃用:

Deprecated

OperationID

OpenAPI operationId 是一个可选的唯一字符串,用于标识操作。 如果提供,这些 ID 在您的 API 中描述的所有操作中必须是唯一的。

默认情况下,Flask Sugar 将其设置为 视图的endpoint + __ + 小写的http请求方式

如果要为每个视图函数单独设置它,请使用 operation_id 参数:

@app.post("/tasks", operation_id="create_task")
def new_task():
    ...

Security

声明哪些安全机制可用于此操作。 值列表包括可以使用的替代安全要求对象。 只需满足其中一个安全要求对象即可授权请求。 要使安全性成为可选,可以在数组中包含一个空的安全性要求 ({})。 此定义覆盖任何声明的顶级安全性。 要删除顶级安全声明,可以使用空数组。

Extra

其余的Operation属性,可以覆盖前面设置所有的属性