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根据两个数组的值对数组进行排序   具有自签名证书和NTLM代理的java Maven SSL repo错误   java自定义字体按钮不工作AndroidStudio   java通过Spring MVC web应用程序向客户端发送文本文件   Java Spring Web服务SOAP身份验证   ANT property environment=“env”无法在JAVA中检索它,但如果作为ANT命令运行,则可以正常工作   java是为spring mvc rest api或spring boot api对应用服务器的每个新请求创建的服务、存储库和组件的新实例吗?   java私有静态最终字符串未完成其工作   PKCS12的安全Java密钥重新处理   java JPA继承表每类SQLSyntaxErrorException