基础用法

概述

如果dealer的参数的类型是Model的子类,前端的请求参数会直接传入它的各个成员。

返回时,Model类的对象会被框架编码为JSON格式。

Model类只是一个框架定义的ABC,创建Model类只需要满足两个要求:
1. 自己实现的__init__方法不能带参数。
2. 各个字段都需要标注类型(私有字段名用下划线开头)

示例

from lessweb import Application, Model

class Book(Model):
    id: int
    name: str
    author: str

def edit_book(book:Book):
    return book

app = Application()
app.add_put_mapping('/book/{id}', dealer=edit_book)
app.run()

请求: curl -X PUT -d "name=sicp&author=MIT" "http://localhost:8080/book/123"
返回: {"id": 123, "name": "sicp", "author": "MIT"}