Schema Class๋ฅผ ๋ง๋ค์ด ๊ธฐ๋ณธ์ ์ธ key์ ํ์ ์ฌ๋ถ, ๊ธ์ ์ ์ ํ์ ๋ํ ๋ด์ฉ์ ๋ช ์ํ๋ค.
from schematics.models import Model
from schematics.types import StringType
class Schema(Model):
id = StringType(
serialized_name='id',
required=True
)
password = StringType(
serialized_name='password',
required=True,
min_length=8,
max_length=20
)
๊ฒ์ฆ์ validate() ํจ์๋ฅผ ์ํํ์ฌ exception์ด ์ผ์ด๋๋ฉด ๊ฒ์ฆ์กฐ๊ฑด์ ๋ถํฉํ์ง ์๋ค๋ ๊ฒ์ด๊ธฐ์
400 client error ๋ฅผ return ํ๋ค.
def validate_JSON(model):
def decorator(func):
@wraps(func)
def wrapper(*args, **kwargs):
try:
instance = model(getattr(request, 'json'))
instance.validate()
except:
abort(400, "check JSON key and values")
return func(*args, **kwargs)
return wrapper
return decorator