【问题标题】:How to cast parameters in exposed functions cherrypy?如何在暴露的函数cherrypy中转换参数?
【发布时间】:2015-09-25 02:51:46
【问题描述】:

例如,我有一个公开的函数,例如:

@cherrypy.expose
def create_purchase(self, price, amount, description):

    price = float(price)
    amount = int(amount)
    descript = str(description)

有没有办法自动将价格转换为浮点数,金额为 int,并将描述转换为 str。如果其中任何一个失败,则认为这是一个错误。

【问题讨论】:

    标签: python cherrypy


    【解决方案1】:

    没有内置解决方案,但cherrypy 的tools 提供了一个足够的钩子。这是example hook called params。会这样使用:

    @cherrypy.expose
    @params(price=float, amount=int, description=str)
    def create_purchase(self, price, amount, description):
    

    如果您有幸编写纯 Python 3 代码,函数注释将提供更优雅的解决方案。

    更新:自版本6.2以来已内置。

    @cherrypy.tools.params()
    def create_purchase(self, price: float, amount: int, description):
    

    【讨论】:

    • 我很幸运,但请描述一下您所说的这些功能注释
    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 2020-02-14
    相关资源
    最近更新 更多