【PythonWeb开发】Flask-RESTful视图类基础知识

flask_restful 是一个扩展库,它为 Flask 提供了快速构建 RESTful API 的功能。使用 flask_restful 可以简化 RESTful API 的开发过程,减少样板代码,并且提供了一些高级特性,如 HTTP 方法的映射、资源路由的定义等。

flask_restful中,类视图是构建RESTful API的主要方法之一。下面是一些关键的知识点:

(1)定义资源类

这个资源类其实就是,视图类。资源类继承自flask_resetful.Resource类。每个资源类代表一个RESTful资源。

python 复制代码
from flask import Flask, jsonify
from flask_restful import Resource

class HelloWorld(Resource):
    
    def get(self):
        return jsonify({"hello": "world"})

(2)添加资源到API

使用flask_restful.Api类来创建一个API实例,并将资源添加到API中。API实例负责路由的设置和资源的注册。

python 复制代码
from flask import Flask
from flask_restful import Api, Resource


app = Flask(__name__)
api = Api(app)   # 可以直接将app传入的方式来绑定API插件

class HelloWorld(Resource):
    def get(self):
        return {"hello": "world"}

# 将HelloWorld资源类绑定到'/hello'路径
api.add_resource(HelloWorld, '/hello')

(3)处理HTTP方法

资源类中的方法对应HTTP方法。常见的HTTP方法包括GET,POST,PUT,DELETE等。

python 复制代码
class UserResource(Resource):
    def get(self, user_id):
        # 查询用户信息
        # 从请求路径中获取 user_id
        return {'user': user_id}, 200   # 第二个参数是状态码

    def post(self):
        # 创建用户
        # 获取 JSON 请求体中的数据
        data = request.get_json()
        return {'data': data}, 201   # 创建成功

    def put(self, user_id):
        # 更新用户信息
        pass

    def delete(self, user_id):
        # 删除用户
        pass

# 注册资源(定义路由)
api.add_resource(User, '/users/<int:user_id>')
相关推荐
Juchecar40 分钟前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户8356290780511 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_1 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机8 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机9 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机9 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机9 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i9 小时前
drf初步梳理
python·django
每日AI新事件9 小时前
python的异步函数
python
这里有鱼汤10 小时前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python