对sanic的openapi v3支持

sanic-openapi3的Python项目详细描述


Sanic OpenAPI v3

Build StatusPyPIPyPI

为sanic api提供openapi v3规范。 基于原始Sanic OpenAPI扩展名。

安装

pip install sanic-openapi3

用法

导入蓝图并使用简单的装饰器来记录路由:

fromsanic_openapi3importopenapi,openapi_blueprint@app.get("/user/<user_id:int>")@openapi.summary("Fetches a user by ID")@openapi.response(200,{"user":{"name":str,"id":int}})asyncdefget_user(request,user_id):...@app.post("/user")@openapi.summary("Creates a user")@openapi.body({"user":{"name":str}})asyncdefcreate_user(request):...app.blueprint(openapi_blueprint)

现在在url/openapi.json处有一个规范。 你的路线将根据蓝图自动分类。

为输入/输出建模

classCar:make=strmodel=stryear=intclassGarage:spaces=intcars=[Car]@app.get("/garage")@openapi.summary("Gets the whole garage")@openapi.response(200,Garage)asyncdefget_garage(request):returnjson({"spaces":2,"cars":[{"make":"Nissan","model":"370Z"}]})

更具描述性

classCar:make=doc.String("Who made the car")model=doc.String("Type of car.  This will vary by make")year=doc.Integer("4-digit year of the car",required=False)classGarage:spaces=doc.Integer("How many cars can fit in the garage")cars=doc.List(Car,description="All cars in the garage")

配置所有内容

app.config.OPENAPI_VERSION='1.0.0'app.config.OPENAPI_TITLE='Car API'app.config.OPENAPI_DESCRIPTION='Car API'app.config.OPENAPI_TERMS_OF_SERVICE='https://example.com/terms'app.config.OPENAPI_CONTACT_EMAIL='mail@example.com'app.config.OPENAPI_CONTACT_NAME='mail@example.com'

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java应该考虑使用DTO来代替Spring控制器层吗?   java为什么要将Maven与Git结合起来?   java试图将CSV转换为XLSX,但使用了错误的逗号拆分列   mysql Spring 3+Hibernate:java。sql。BatchUpdateException:无法添加或更新子行(ManyToMany)   java基本字符串反转器   java无法使用RestControllerAdvice为身份验证失败生成自定义错误消息   java当只允许SQLException时,如何抛出EOFEException?   java如何创建播放模块?   Android中匿名类的java实例化异常问题   java两个停靠组件,其中第二个组件填充剩余空间   java如何在按钮延迟时启用它   Java中正在运行的应用程序中的后台进程   java我正试图从一个字符串打印出这个字符输出   如何使用java socket通过两个不同的wifi连接两台电脑?   javaapachecamel:如何将分层数据从数据库转换为pojo   java Webrtc:OniconConnectionChange和onConnectionChange之间有什么区别   java如何重写已经创建的JTable方法   爪哇扫雷机堆垛机   雅加达ee Java ee EJB 3.0 Glassfish