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

  • python3.12

  • tornado 6.1

  • swagger 1.2.3

    pip install tornado-swagger==1.2.3

示例代码

python 复制代码
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

相关推荐
蒙娜丽宁12 分钟前
【人工智能】从零开始用Python实现逻辑回归模型:深入理解逻辑回归的原理与应用
人工智能·python·逻辑回归
wh柒八九40 分钟前
使用win32com将ppt(x)文件转换为pdf文件
python·flask
007php00742 分钟前
使用 Go 实现将任何网页转化为 PDF
开发语言·后端·python·docker·chatgpt·golang·pdf
hong1616881 小时前
CentOS中的Firewalld:全面介绍与实战应用
linux·python·centos
studyForMokey2 小时前
[Kotlin标准函数] run、with、apply、also、let、use等
前端·python·kotlin
Star Patrick2 小时前
算法训练(leetcode)二刷第二十五天 | *134. 加油站、*135. 分发糖果、860. 柠檬水找零、*406. 根据身高重建队列
python·算法·leetcode
罔闻_spider2 小时前
递归(二)---力扣22括号生成,力扣78求子集
开发语言·python
数据媛2 小时前
TensorFlow_T7 咖啡豆识别
人工智能·python·深度学习·机器学习·tensorflow
彭彭不吃虫子2 小时前
【字符串】给定一个字符串 text 和字符串列表 words,返回 words 中每个单词在 text 中的位置(要求最终的位置从小到大进行排序)
开发语言·数据结构·python