现在的情况是前后端分离,后端只提供 API ,前端 AJAX 调用,使用 JSON 格式传送数据。
这里涉及到 2 个问题:
(1)如何描述 API?如何告诉前端你的接口需要什么参数,返回什么?
(2)如何校验 JSON 数据?前端可能漏了参数,或是传了错误的参数。用户可能输入错误,需要有错误提示。黑客也可能构造非法的参数进行攻击。
考虑过用 JSON-Schema ,但是 JSON-Schema 太复杂了,写起来也很累,用来描述 API 并不合适,我想要一种易读易写的格式,写完可以直接拿来当文档看。
另外关于防攻击的: https://github.com/pallets/flask/issues/1421
如果提交大量嵌套非常深的数据,服务器资源不是很容易就会耗尽吗,例如: json.loads('[' * 800 + ']' * 800)。
求前人指路,分享经验。

