mongodb/mongoengine的flask restful api框架

Flask-CuddlyRest的Python项目详细描述


flask-cuddlyrest
===


==a framework for mangoengine collections via a cud ly api


它的灵感来自:
-https://github.com/brettlangdon/mongorest
-https://github.com/elasticsales/flask-mongorest
-https://github.com/mozilla-services/cornice(用于sphinx集成)


功劳归于那些项目!:)

[![构建状态](https://travis-ci.org/wurrd/flask-cuddlyrest.png)(https://travis-ci.org/wurrd/flask-cuddlyrest)


设置
==

``python
从flask.ext.mongoengine导入mongoengine
从flask.ext.cuddlyrest导入cuddlyrest
从flask.ext.cuddlyrest.views导入资源




>app.config.update(
>mongodb-u host='localhost',
>mongodb-u port='27017',
>mongodb-budb='mongodb='mongodb='mongodb='mongodb='mongodb='mongodb='mongodb'mongodb='mongodb\u app示例应用',



















class content(db.embeddeddocument):
text=db.stringfield()


class post(db.document):
title=db.stringfield(最大长度=120,必选=真)
author=db.referencefield(用户)
content=db.embeddeddocumentfield(content)

```

使用此应用程序,可以使用以下curl命令:
````
创建post:
curl-h“内容类型:application/json”-x post-d \
'{“标题”:“第一篇post!”,“author_id”:“author_id_from_a_previous_api_call”,“content”:{“text”:“这是我们的测试文章内容”}“http://0.0.0.0:5000/posts/
{
“id”:“1”,
“title”:“第一篇文章!”,
“author”:“author_id_from_a_previous_api_call”,
“content”:{
“text”:“这是我们的测试帖子内容”
}
}
````
获取帖子:
````
curl http://0.0.0.0:5000/posts/1/
{
“id”:“1”,
“title”:“第一篇帖子!”,
“author_id”:“author_id_from_a_previous_api_call”,
“content”:{
“text”:“这是我们的测试帖子内容”
}
}
``````
按标题列出所有帖子或筛选:
````
curl http://0.0.0.0:5000/posts/或curl http://0.0.0:5000/posts/?title_u startswith=first%20post
{
“data”:[
{
“id”:“1”,
“title”:“first post!”,
“author_id”:“author_id_from_a_previous_api_call”,
“content”:{
“text”:“这是我们的测试帖子内容”
}
},
…其他帖子
]
}
```
delete a post:
````
curl-x删除http://0.0.0:5000/posts/1/
````



request params
==

**skip**和**limit**=>;利用mongodb的内置功能。如果资源中存在此字符串,则排序结果。允许的\排序列表。

==


如下:

````
import flask_cuddlyrest
```

确保将“flask_cuddlyrest.ext.sphinxext”添加到扩展列表中,例如:
`````
extensions=['sphinx.ext.autodoc',
“Flask-cuddlyrest.ext.sphinxext”]
````

用法
----


添加Flask-cuddlyrest处理的操作说明:

```
。cuddlyrest::
:document:sock;定义mongo document
绑定的类的名称。
:url:/socks;提供document对象的url。
`````

要添加json对象的描述,flask cuddlyrest句柄:

````
。拥抱对象::
:module:the.module.in.which.the.document.is.defined已定义绑定。
:id:sock_class API文档的
其余部分可以用来引用此生成的
文档块的命名超链接引用ID。这是可选的:如果没有提供,
默认值将被设置为文档名,小写。

```

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

推荐PyPI第三方库


热门话题
java JTable无法向新创建的列添加值   java如何调整JEditorPane中编辑区域的大小?   Java通过反射确定未知数组中的数组大小   java Intellij Idea有时无法按其预期的方式构建应用程序   java Swing GUI带有IntelliJ错误“contentPane不能设置为null”从终端编译时   如何将这些通用方法调用从C#转换为Java   在null上找不到java属性或字段“index”   从Java HashMap获取整数值时是否需要调用intValue()方法?   java Android谷歌地图获取相机中的图像块   unix无法捕获JAVA中“who m”命令的输出   java,同时将邮件发送到“收件人”标题“我”中的多个收件人   在java中向链表添加未知数量的节点   无法为Heroku上的discord bot设置java端口   java使用Apache HttpClient进行选项请求   与元素类型“ApplicationName”关联的属性“Application Version”需要java Open quote   Android Studio Java中的两个变量求和