Flask Web框架的基本JSON模式验证器。

Flask-JsonSchemaValidator的Python项目详细描述


烧瓶jsonschemavalidator

Flaskweb框架的基本json模式验证器。

用法

基本用法是将@validatedecorator应用于路由。如果请求验证,则将按正常方式调用路由。如果请求未验证,将生成一条错误消息,并返回一条400 BAD REQUEST,同时返回正文中的错误消息。

validate(schema, force=False, json_cache=True)

架构:jsonschema根据

强制:如果Content-Type不是applciation/json,则尝试验证请求

json缓存:使用flask.request.get_json

缓存json

示例

fromflask_jsonschemaimportvalidate@app.route("/",methods=['POST'])@validate({'type':'object','properties':{'foo':{'type':'string'},'bar':{'type':'number'},},'required':['bar','foo'],})defindex_post():returnflask.jsonify(time=time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()))

有效请求

请求:

POST/HTTP/1.1Content-Type:application/jsonHost:localhost:5000Content-Length:26{"foo":"String","bar":123}

响应:

HTTP/1.0200OKContent-Type:application/jsonContent-Length:35Server:Werkzeug/0.10.4 Python/3.4.3Date:Thu, 27 Aug 2015 04:05:24 GMT{"time":"2015-08-27 04:05:24"}

无效请求

请求:

POST/HTTP/1.1Content-Type:application/jsonHost:localhost:5000Content-Length:37{"foo":"String","bar":"Not a number"}

响应:

HTTP/1.0400BAD REQUESTContent-Type:application/jsonContent-Length:145Server:Werkzeug/0.10.4 Python/3.4.3Date:Thu, 27 Aug 2015 03:53:39 GMT{"error_message":"'Not a number' is not of type 'number'","error_path":"(root).bar","status":400,"status_message":"Bad Request"}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在java中模拟按键?   尽管元素存在,但HtmlUnit中的java ElementNotFoundException   在Java中,长双精度并发写入不是原子的吗?   java如何在另一个对象数组中打印对象的int值?   java在显示或更改视图后执行一些代码   java JFR:读取时发生OutOfMemoryError。jfr文件   java Android助手检查是否购买   java这种设计模式的好处是什么?   Weblogic 10.3中针对托管服务器的java部署问题   java如何获取字符串。在编译时投诉的格式   声明字符串数组时发生java错误   java JPA在多个并行线程中从表中删除时发生死锁   java Android:在按钮动画之后启动活动   java并发与JMS主题在春季   使用Lucene spatial search/DateRangePrefixTree进行java日期范围查询?   java可选接口问题   JavaDbUnit没有在每个方法之后清洗和插入数据库,所以测试不是独立的   java在IAIK PKCS11包装器中一对私钥和证书如何匹配?