一、RESTful定义
RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。
RESTFUL适用于移动互联网厂商作为业务使能接口的场景。
RESTFUL特点包括:
1、每一个URI代表1种资源;
2、客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;
3、通过操作资源的表现形式来操作资源;
4、资源的表现形式是XML或者 JSON;
5、客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。
二、安装和使用
pip install flask-restful
1、普通使用
步骤一:创建restful的API
步骤二:定义资源resource
步骤三:把资源加载到api中,才可以发布
from flask import Flask
from flask_restful import Resource,Api
app=Flask(__name__)
#步骤一:创建restful的API
api=Api(app)
#步骤二:定义资源resource
class HelloResource(Resource):
def get(self):
return {'hello':'get'}
def post(self):
return {'hello':'post'}
def put(self):
return {'hello':'put'}
#步骤三:把资源加载到api中,才可以发布
api.add_resource(HelloResource,'/hello')
if __name__ == '__main__':
app.run(debug=True)
访问接口:
2、蓝图中使用
第一步:创建蓝图:
from flask import Flask,Blueprint
from flask_restful import Resource,Api
#创建蓝图
user_bp=Blueprint('user',__name__,static_folder='static',template_folder='templates')
#加载视图
from user.user import user_view,HelloResource
第二步:蓝图下创建视图
1、创建restful的api
user_api=Api(user_bp)
2、定义资源
class HelloResource(Resource):
def get(self):
return {'hello':'get'}
def post(self):
return {'hello':'post'}
def put(self):
return {'hello':'put'}
3、将资源加载到api中,才可以发布
user_api.add_resource(HelloResource,'/hello')
第三步:注册路由:
app.register_blueprint(user_bp,url_prefix='/user')
第四步:启动项目,访问资源
注意:如果蓝图里面有url_prefix,那么请求url = url_prefix + resource_url