当前位置: 首页 > article >正文

[python3] tornado 使用swagger编写接口文档

  • python3.12
  • tornado 6.1
  • swagger 1.2.3
pip install tornado-swagger==1.2.3

示例代码


import tornado.ioloop
import tornado.web
from tornado_swagger.setup import setup_swagger


class ItemHandler(tornado.web.RequestHandler):
    def get(self, item_id):
        """
        ---
        tags:
          - Items
        summary: Get an item by ID
        description: Retrieve item details by its ID
        parameters:
          - name: item_id
            in: path
            required: true
            description: ID of the item
            type: integer
        responses:
          200:
            description: Successful operation
            schema:
              type: object
              properties:
                name:
                  type: string
                price:
                  type: number
          404:
            description: Item not found
        """
        item = {"name": "ExampleItem", "price": 99.99}
        print('item_id: ', item_id)
        if int(item_id) == 1:
            self.write(item)
        else:
            self.write({"error": "Item not found"})


def make_app():
    routes = [
        tornado.web.url(r"/item/([0-9]+)", ItemHandler),
    ]
    setup_swagger(routes, swagger_url="/api/doc",
                  description="使用 setup_swagger 设置 Swagger 文档")
    return tornado.web.Application(routes)


if __name__ == "__main__":
    app = make_app()
    app.listen(38881)
    tornado.ioloop.IOLoop.current().start()


浏览器打开

http://IP:38881/api/doc


http://www.kler.cn/a/389144.html

相关文章:

  • 编写子程序
  • Unity自学之旅04
  • 【组件库】使用Vue2+AntV X6+ElementUI 实现拖拽配置自定义vue节点
  • 重构(4)
  • 【AI编辑器】字节跳动推出AI IDE——Trae,专为中文开发者深度定制
  • 【线性代数】列主元法求矩阵的逆
  • FastHtml llmctx介绍
  • Spring Boot与工程认证:计算机课程管理的新范式
  • 塔吉克斯坦媒体发稿:伊斯梅尔快讯的海外影响力-大舍传媒
  • javascript实现国密sm4算法(支持微信小程序)
  • SVN 提交操作
  • Flutter 正在切换成 Monorepo 和支持 workspaces
  • Jasypt 实现 yml 配置加密
  • GPU集群上分布式训练大模型
  • Allure入门介绍
  • qt实现多影像的匀光调整
  • 网络层5——IPV6
  • Oracle 第26章:Oracle Data Guard
  • MySQL 数据备份与恢复
  • 智能检测技术与传感器(热电传感器四个定律)
  • 状态模式(State Pattern)详解
  • 构造,CF 2029D - Cool Graph
  • HBase的架构介绍,安装及简单操作
  • Python数据分析案例64——杭帮菜美食探索数据分析可视化
  • GIF图片格式详解(三)
  • 如何在 Spring Boot 中利用 RocketMQ 实现批量消息消费