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。这是可选的:如果没有提供,
默认值将被设置为文档名,小写。
```
===
==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。这是可选的:如果没有提供,
默认值将被设置为文档名,小写。
```