内容简介:所需依赖:备注:flask-restful不能和flask的render_template模板结合使用,因为restfulapi的设计不是为了在flask里直接返回html。在使用restful时,使用前后端分离模式。
所需依赖:
Flask Flask-RESTful Python2.7
备注:flask-restful不能和flask的render_template模板结合使用,因为restfulapi的设计不是为了在flask里直接返回html。
在使用restful时,使用前后端分离模式。
本文档不包含flask的认证登陆功能
restful说明
restful把所有url请求当做资源, 资源下的get方法对应get请求,post方法对应post请求,put方法对应put请求,delete方法对应delete请求。
get请求,post新增, put修改, delete删除
具体的url设计模式,参考文章: RESTful API 设计指南
1、目录结构
. ├── assets │ ├── __init__.py │ ├── server.py │ ├── urls.py ├── run.py
2、assets下文件配置
__init__.py
from flask import Blueprint
assets_page = Blueprint('assets_page', __name__)
import urls
urls.py
#coding:utf-8 from assets import assets_page from flask_restful import Resource, Api from server import Servers, Server api = Api(assets_page) #注册路由 api.add_resource(Servers, '/servers') api.add_resource(Server, '/servers/<_id>')
server.py
#coding:utf-8
from flask import request
from flask_restful import Resource, Api
class Servers(Resource):
def get(self):
#返回所有数据
return 'this is data list'
def post(self):
#新增数据
data = request.get_json()
return 'add new data: %s'%data
class Server(Resource):
def get(self,_id):
#返回单条数据
return 'this data is %s'%_id
def delete(self,_id):
#删除单条数据
return 'delete data: %s'%_id
def put(self, _id):
#修改单条数据
data = request.get_json()
return 'put data %s: %s'%(_id, data)
3、run.py配置
#coding:utf-8
from flask import Flask
#导入蓝图实例
from assets import assets_page
app = Flask(__name__,
template_folder='templates',
static_folder='static',
)
#注册蓝图
app.register_blueprint(assets_page)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=True)
4、测试
在 linux 终端测试
#获取列表:
$ curl 127.0.0.1:5000/servers
"this is data list"
#新增数据
$ curl -X POST -H "Content-Type:application/json" -d '{"name":"yangr"}' 127.0.0.1:5000/servers
"add new data: {u'name': u'yangr'}"
#修改数据
$ curl -X PUT -H "Content-Type:application/json" -d '{"name":"yangr"}' 127.0.0.1:5000/servers/2
"put data 2: {u'name': u'yangr'}"
#删除数据
$ curl -X DELETE 127.0.0.1:5000/servers/3
"delete data: 3"
后续再出sqlalchemy系列操作数据库的文章
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 腾讯织云API平台:结合DevOps理念的一次新实践
- Linux 后台运行任务 nohup 结合 & 用法以及如何精准查找进程并 kill 后台任务实践
- 吴为龙:分布式存储结合公链激励的工程实践 | 巴比特加速器技术公开课
- 代理模式——结合SpringAOP讲解
- 如何结合 Scrum 和 Kanban
- NServiceBus 结合 RabbitMQ 使用教程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
PHP for the World Wide Web, Second Edition (Visual QuickStart Gu
Larry Ullman / Peachpit Press / 2004-02-02 / USD 29.99
So you know HTML, even JavaScript, but the idea of learning an actual programming language like PHP terrifies you? Well, stop quaking and get going with this easy task-based guide! Aimed at beginning ......一起来看看 《PHP for the World Wide Web, Second Edition (Visual QuickStart Gu》 这本书的介绍吧!
HTML 编码/解码
HTML 编码/解码
URL 编码/解码
URL 编码/解码