例如,我有一个暴露的功能,如:
@cherrypy.expose
def create_purchase(self, price, amount, description):
price = float(price)
amount = int(amount)
descript = str(description)
有没有办法自动将价格转换为浮动,数量为int,描述为str。如果其中任何一个失败,请认为是错误。
答案 0 :(得分:0)
没有内置的解决方案,但是cherrypy的tools提供了一个足够的钩子。这是一个example hook called params。将使用这样的:
@cherrypy.expose
@params(price=float, amount=int, description=str)
def create_purchase(self, price, amount, description):
如果你有幸编写Python 3-only代码,函数注释将提供更优雅的解决方案。
更新:自版本6.2以来,这已内置。
@cherrypy.tools.params()
def create_purchase(self, price: float, amount: int, description):