[TOC]
代码语言:javascript复制#!/usr/bin/python3
# -*- coding: utf-8 -*-
from flask import Blueprint
from flask import make_response,render_template,jsonify
from flask_restful import Api,Resource
# 蓝图名称以及使用API实例化
index_blue=Blueprint('index',__name__)
api=Api(index_blue)
# 视图类资源定义
class Index(Resource):
def get(self):
# Apptemplatesindex.html
return make_response(render_template('index.html',title="WeiyiGeek-Flask-RESTful之API接口编写实践记录",boby="这个是一个API专用URL什么都没有,想范返回数据请POST请求获取接口json数据"),200)
def post(self):
resp = make_response(render_template('index.json'),200)
resp.he
return resp
def put(self):
return make_response(jsonify({"code":2022, "status": "err","message":"Not found!"}),200)
class Robots(Resource):
def get(self):
# Apptemplatesrobots.txt
resp = make_response(render_template('robots.txt'),200)
resp.headers={'context-type':'text/plain', 'Custom-Head': 'True'}
return resp
def post(self):
return {"msg": "robots.txt requires get request."}, 200, {"Content-Type":"application/json"}
# 路由绑定
# 视图 Index , 路由URL为/index, 路由别名endpoint为index
api.add_resource(Index,"/",endpoint='index')
# 视图 Robots , 路由URL为/robots.txt, 路由别名endpoint为robots
api.add_resource(Robots,"/robots.txt",endpoint='robots')
执行结果如下图所示:
WeiyiGeek.flask_restful-简单示例
温馨提示: 如果指定资源类没有定义支持的请求方法, 则会在请求后显示”405 METHOD NOT ALLOWED”信息。