Path-Variable

Path Variable

什么是路径参数(Path Variable)

参数可以出现在URI中,例如要查询ID为1357的书籍的信息,前端可以用GET方法访问/book/1357

怎样获取Path Variable

方法一:

add_mapping的pattern支持(?P<name>[0-9]+)这样的正则表达式,匹配的结果是键值对。框架会把键值对传给对应的dealer。

方法二:

add_mapping的pattern还支持{name}这样的表达式,与(?P<name>[0-9]+)效果等价。

示例

from lessweb import Application

def book_detail(author, bookId:int=-1):
    return {'bookId': bookId, 'author': author}

app = Application()
app.add_get_mapping('/book/{bookId}', dealer=book_detail)
app.add_get_mapping('/book/', dealer=book_detail)
app.run()

请求: curl "http://localhost:8080/book/1357?author=None"
返回: {"bookId": 1357, "author": "None"}

请求: curl "http://localhost:8080/book/?author="
返回: {"bookId": -1, "author": ""}