如果json参数没有值(空字符串),如何引发异常?

问题描述 投票:0回答:1

如果我的输入json如下所示,我想引发一个异常:

{
"username":"user",
"password": ""
}

如果我将密码传递为null,那么我想引发一个异常。我可以知道棉花糖如何处理它。我不想像下面这样显式检查:

request_jsn = request.get_json()
if 'password' in request_jsn.keys() :
   if request_jsn['password'] :
     password = request_jsn['password']
from marshmallow import Schema, fields
class UserSchema(Schema):
username = fields.String(required=True)
password = fields.String(required=True)
--------------
def post(self):

    if not request.json:
        return jsonify( {'msg':"Unsupported media type,Requests must be JSON",'code': 415})
    try:
       request_jsn =  Schema().load(request.get_json())
    except ValidationError as e:
        return jsonify(error_dict(current_request_id(), str(e), 400))
python-3.x flask json-schema-validator marshmallow
1个回答
0
投票

我有办法使用它。

username = fields.String(required=True, validate=validate.Length(min=1, error="Field should not be empty.")) 
password = fields.String(required=True, validate=validate.Length(min=1, error="Field should not be empty.")
© www.soinside.com 2019 - 2024. All rights reserved.