Flask框架之Flask_RESTful

Flask_RESTful的基本使用

优势:

  • Flask-Restful是一个专门用来写restful api的一个插件
  • 使用它可以快速的集成restful api接口功能。
  • 在系统的纯api的后台中,这个插件可以帮助我们节省很多时间。

缺点:

  • 如果在普通的网站中,这个插件就没有优势了,因为在普通的网站开发中,是需要去渲染HTML代码的,
  • Flask-Restful在每个请求中都是返回json格式的数据。

安装
pip install flask-restful


基本使用

定义Restful的类视图:

  1. flask_restful中导入Api,来创建一个api对象。
  2. 写一个类视图,让它承自Resource类,然后在类视图中,使用想要的请求方式来定义相应的方法,比如想要将这个·类视图·只能采用post请求,那么就定义一个post方法。
  3. 使用api.add_resource来添加类视图与url

from flask import Flask,url_for,render_template 
from flask_restful import Api,Resource 

app = Flask(__name__) 

# 创建一个api对象
api = Api(app) 

#定义一个类视图
class LoginView(Resource):  
	def post(self): 
		return {"flag":"yes"} #字典 

	def get(self): 
		return {"flag":"no"} 

# api.add_resource(LoginView,'/login/')
#可支持多个url映射
api.add_resource(LoginView,'/login/','/login2/',endpoint="login") 

#应用上下文
with app.test_request_context():
	#不写`endpoint`,那么将会使用视图的名字的小写(所有都小写)来作为`endpoint`。 
	# print(url_for('loginview')) 
	#如果指定了endpoint,就只能使用endpoint指定的值创建url
	print(url_for('login')) 

@app.route('/') 
def hello_world(): 
	return render_template('index.html') 

if __name__ == '__main__': 
	app.run(debug=True)


注意:

  • 如果你想返回json数据,那么就使用flask_restful,如果你是想渲染模版,那么还是采用之前的方式,就是app.route的方式。
  • url还是跟之前的一样,可以传递参数。也跟之前的不一样,可以指定多个url
  • endpoint是用来给url_for反转url的时候指定的。如果不写endpoint,那么将会使用视图的名字的小写来作为endpoint
  • 可以使用postman接口测试工具测试post等请求结果。
发布了354 篇原创文章 · 获赞 4 · 访问量 7811

猜你喜欢

转载自blog.csdn.net/weixin_44733660/article/details/103994371