Sanic三:Sanic.route支持的参数和Sanic声明接口的方式

Sanic声明接口有三种形式

一:用Sanic.route()方法来声明接口信息,如下为源码中route的参数

uri: str 接口地址,若不是以"/"开头,代码中会自动加"/"

methods: list或元组,内部为字符串的请求方法,由代码中可见,代码会自动统一转大写,当此字段没有指定时,默认用GET

host: str 或者 list,将限制到提供的一个或多个主机的路由。如果还有一个没有主机的路由,它将是默认的。
strict_slashes: bool 严格匹配末尾的斜杠/,默认为None
stream: bool 是否允许请求流式传输其正文,默认为False
version: [int, str, float] API版本,默认为 None,
name: str 自定义路由名,在注册时将重写使用handler.__name__属性
ignore_body: bool 处理程序是否应忽略请求体(例如GET请求),默认 False,
apply: bool = True,
subprotocols: Optional[List[str]] = None,
websocket: bool = False,
unquote: bool = False,
static: bool = False,
version_prefix: str 应在版本值之前的URL路径,默认值为 "/v",

二:用Sanic封装好的请求方法

Sanic官方其实已经把常用的请求方法都封装好了,可以直接使用,其实返回的也是route对象,只是为了方便使用,封装了一层

1、GET

2、POST

其他常见的请求方法均已封装好,就不一一举例了

三:使用类视图(推荐使用类视图声明接口,这里只做示例,后面会写一篇文章详细介绍)

其实不管哪种形式声明路由,最后底层都是掉的Sanic.add_route()方法来实现路由

讨论群:249728408
原文地址:https://www.cnblogs.com/zhongyehai/p/15091815.html