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()方法來實現路由