如何验证httppost中json数据的非字符串值

2024-10-03 00:28:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用flask实现一些restapi。在其中一个api中,我需要提交一个由经度和纬度定义的位置。因此,我很自然地使用httpie:

http POST :5000/api/v1.0/foo lng=12.34 lat=56.78

在flask端,我使用volupturous来验证JSON数据。但是,在后端接收到的所有数据都是unicode类型。我必须做这样的事情:

^{pr2}$

这感觉笨重,有点打乱了肉欲的目的。我是做错事了,还是有更好的方法?在


Tags: 数据apirestapijsonhttpflask定义foo
1条回答
网友
1楼 · 发布于 2024-10-03 00:28:18

是的,这个库能够将值强制为浮点或整数(使用Coerce)。例如:

>>> from voluptuous import *
>>> schema = Schema(Coerce(float))
>>> schema('1.10')
1.1
>>> schema(2.2)
2.2

这意味着它将接受普通浮点,但也接受可以转换为浮点的(Unicode)字符串。结果值是一个浮点值。在

您也可以组合多个验证器,浮点值将传递给下一个验证器:

^{pr2}$

至少要验证一个float值,这个值至少可以被强制为float。在

相关问题 更多 >