一个中间件模块,它解决了用nosql数据库构建restapi时的常见问题。

nosql-rest-preprocessor的Python项目详细描述


nosql rest预处理器
=======================
[![构建状态](https://travis-ci.org/felixbr/nosql-rest-preprocessor.svg?branch=master)(https://travis-ci.org/felixbr/nosql-rest-preprocessor)
[![覆盖状态](https://img.shields.io/covertalls/felixbr/nosql rest preprocessor.svg)(https://covertalls.io/r/felixbr/nosql-rest-preprocessor)

一个中间件模块,它解决了用nosql数据库构建restapi时的常见问题。

安装

```
pip安装nosql rest预处理器
```

示例

``Python
从nosql-rest-preprocessor.models导入basemodel

类地址模型(basemodel):
必需的属性={'street','city','plz'}


除了这些和所需的以外,不允许任何东西
可选属性={'location'}

类用户模型(basemodel):
必需的属性={'firstname','lastname','email'}
不可变的属性{'id'}
私有属性={'password','salt'}

将使用addressmodel验证、合并和准备“address”属性的内容
子模型:{
“地址”:addressmodel
}
```

``Python
来自请求的新用户{
“名字”:“sepp”,
“姓氏”:“huber”,
“电子邮件”:“sepp.huber@fancepants.com”,
“地址”:{
“街”:“面包街1”,
“城市”:“伦敦”,
“plz”:“12345”
}
}

检查必需的属性,如果有问题,则引发validationerror
usermodel.validate(来自请求的新用户)

```

``Python
user_obj_from_db=db.fetch_user_by_email(“sepp.huber@fancepants.com”)

删除任何非公共属性
response_obj=usermodel.prepare_response(用户_obj_来自_db)

返回响应(响应对象)
```

``Python
从nosql-rest-preprocessor.models导入basemodel
从nosql-rest-preprocessor.resolvers导入resolve,resolvewith

类地址模型(basemodel):


类用户模型(basemodel):


已解析的属性={
“地址”=resolvewith(lookup_func=somedb.find_address_by_key,model=addressmodel)
}



用户={
“name”:“cookie\u m0nster”,
“地址”:“地址的外键”
}

resolved_obj=解析(用户模型,用户)
resolved_obj['address']现在被somedb获取的dict替换。find_address_by_key('foreign_key_for_address')
```

运行测试
```
PIP安装排毒

排毒
```

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

推荐PyPI第三方库


热门话题
如何在java中调用Paint组件方法   多层次POM中的java覆盖依赖项/插件管理   java模式识别   JavaSpringMVC+Log4j2定义了Log4j2。未标识非类路径位置中的属性文件   java我们如何将IntelliJ IDEA中的maven和gradle项目与源代码浏览支持集成?   Maven mvn exec:java在Windows上工作,但不是Ubuntu 20   java在Jaxb2Marshaller上使用带有packagesToScan属性的JAXBElement时没有端点适配器   java删除方法和节点   java如何为某些场景创建正则表达式模式   java如何通过gridView中的intent()传递ArrayList数据。setOnItemClickListener()   java UnsupportedClassVersionError 1.7/1.5   java为什么JVM参数是http。tomcat servlet没有使用proxyHost?   java将ArrayList从字母顺序排序到最频繁/最不频繁   java动态字段列表迭代   java如何将字节转换为位?   hadoop java。mapreduce作业中的lang.NullPointerException   javasocketIO无法与Android中的LocationListener一起使用   java在卸载时清除内部存储   java池回收错误2个精灵同时碰撞到一个精灵