在Python中键入的XML-RPC方法参数数据

时间:2009-12-18 00:12:06

标签: python django

我在Python中构建了一个XML-RPC接口,我需要强制执行一些更严格的输入。例如,传递字符串'10'而不是int 10.我可以通过一些类型转换和一些异常处理来清理它,但我想知道是否有任何其他强制类型完整性的方法,例如特定于XML-RPC的东西,装饰者,或其他东西。

3 个答案:

答案 0 :(得分:1)

无论如何它总会被转换为字符串,所以你为什么要关心传入的是什么?如果您使用"%s" % number甚至只使用str(number),那么number是字符串还是int都无关紧要。

答案 1 :(得分:0)

XML-RPC方法(至少在xmlrpclib中)被分派到Python函数或方法,因此您必须在其中强制执行类型检查。使用装饰器执行此任务有很多方法:Type Enforcement (accepts/returns)typecheck module

请注意,xmlrpclib缺少正确的错误处理,因此您可能希望implement your own

答案 2 :(得分:0)

我总是只使用re.escape函数,例如:

number = re.escape(number)

这样事情总会被转换为字符串