Skip to main content

SwaggerUI

用前须知

作者对 OpenAPI 相关指标不熟,此模块为临时起意,随便写了下貌似能用😲,后期再做调整吧。

Pywss 实现了部分 OpenAPI 的能力。可以在程序中通过 @pywss.openapi.docs 装饰器自动生成文档。

参数说明:

  • summary:接口摘要
  • description:接口描述
  • params:参数说明
  • request:请求说明
  • response:响应说明

注意:需要通过 app.openapi() 开启此能力。

demo
import pywss

@pywss.openapi.docs(
summary="此处是接口摘要 - 可选",
description="此处是接口描述 - 可选",
params={
"page_size": "此处是参数说明",
"username:query": "可以指定参数属于query(默认参数)",
"name:path,required": "path表示为路径参数,required表示必填参数",
"Auth:header,required": "参数支持:query、path、header、cookie",
},
request={
"name": "用户名",
"password": "用户密码",
},
response={
"errCode": "错误码",
"errMsg": "错误信息",
},
)
def hello(ctx: pywss.Context):
ctx.write({
"hello": "world",
"page_size": ctx.url_params.get("page_size", 10),
"username": ctx.url_params.get("username", "username"),
"name": ctx.route_params.get("name", "name"),
"Auth": ctx.headers.get("Auth", "Auth"),
})

def main():
app = pywss.App()
app.openapi() # 开启 openapi
app.post("/hello/{name}", hello)
app.run()

if __name__ == '__main__':
main()