如何检查 post 请求的 flask reqparse 中的空 JSON 字段?
How to check for empty JSON field in flask reqparse for a post request?
我需要使用 reqparse 检查 JSON 字段中的空字符串以获取 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 来做到这一点?
从查看 reqparse documentation and how 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']
可以 return 数组,所以我会小心以下边缘情况。
[] == false
['foo'] == true
[' ', ' '] == true
所以最好按照
做一些事情
args = self.parser.parse_args()
names = args['name']
for name in names:
if not name:
# if not truthy
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
中引用了这个
我需要使用 reqparse 检查 JSON 字段中的空字符串以获取 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 来做到这一点?
从查看 reqparse documentation and how 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']
可以 return 数组,所以我会小心以下边缘情况。
[] == false
['foo'] == true
[' ', ' '] == true
所以最好按照
做一些事情args = self.parser.parse_args()
names = args['name']
for name in names:
if not name:
# if not truthy
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
中引用了这个