如何检查flask reqparse中的空JSON字段以获取发布请求?

时间:2016-08-10 20:57:34

标签: python json flask flask-restful

我需要在JSON字段中检查空字符串,以便使用reqparse查看flask中的post请求。我可以用flask reqparse模块实现吗?

我试过了:

self.parser.add_argument('name', 
                 type=str, 
                 required=True, 
                 trim=True, 
                 location='json'
                )
self.parser.parse_args()

正在检查{"name":"xyz"}中的名称字段是否存在,但我还想检查空值{"name":""},以便我可以向用户抛出错误,该名称不能为空。是否可以使用reqparse来做到这一点?

2 个答案:

答案 0 :(得分:1)

查看reqparse documentationhow to check for empty strings in python 你可以做点像......

args = self.parser.parse_args()
name = args['name']
if not name:
    # do your foo here if name is not truthy

由于args['name']可以返回数组,因此我会注意以下边缘情况。

[] == false
['foo'] == true
[' ', '   '] == true

所以最好按照

的方式做点什么
args = self.parser.parse_args()
names = args['name']
for name in names:
    if not name:
        # if not truthy 

答案 1 :(得分:0)

def non_empty_string(s):
if not s:
    raise ValueError("Must not be empty string")
return s
parser.add_argument('name', required=True, nullable=False, type=non_empty_string)

我在以下link

中提到了此问题