Skip to content

Commit 0f7279a

Browse files
committed
fix bug about issue22
1 parent 8e3f08f commit 0f7279a

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

swagger_py_codegen/templates/flask/validators.tpl

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,28 @@ class FlaskValidatorAdaptor(object):
3636
if isinstance(obj, Headers):
3737
obj = MultiDict(obj.iteritems())
3838
result = dict()
39+
3940
convert_funs = {
4041
'integer': lambda v: int(v[0]),
4142
'boolean': lambda v: v[0].lower() not in ['n', 'no', 'false', '', '0'],
4243
'null': lambda v: None,
4344
'number': lambda v: float(v[0]),
44-
'array': lambda v: v,
4545
'string': lambda v: v[0]
4646
}
47+
48+
def convert_array(type_, v):
49+
func = convert_funs.get(type_, lambda v: v[0])
50+
return [func([i]) for i in v]
51+
4752
for k, values in obj.iterlists():
48-
type_ = self.validator.schema['properties'].get(k, {}).get('type')
53+
prop = self.validator.schema['properties'].get(k, {})
54+
type_ = prop.get('type')
4955
fun = convert_funs.get(type_, lambda v: v[0])
50-
result[k] = fun(values)
56+
if type_ == 'array':
57+
item_type = prop.get('items', {}).get('type')
58+
result[k] = convert_array(item_type, values)
59+
else:
60+
result[k] = fun(values)
5161
return result
5262

5363
def validate(self, value):

0 commit comments

Comments
 (0)