【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>')
相关推荐
-曾牛7 分钟前
Yak语言核心基础:语句、变量与表达式详解
数据库·python·网络安全·golang·渗透测试·安全开发·yak
数据大魔方24 分钟前
【期货量化实战】跨期套利策略:价差交易完整指南(TqSdk源码详解)
数据库·python·算法·github·程序员创富
大、男人38 分钟前
python之contextmanager
android·python·adb
毕设源码-钟学长1 小时前
【开题答辩全过程】以 基于Python的车辆管理系统为例,包含答辩的问题和答案
开发语言·python
CCPC不拿奖不改名1 小时前
数据处理与分析:数据可视化的面试习题
开发语言·python·信息可视化·面试·职场和发展
液态不合群1 小时前
线程池和高并发
开发语言·python
旦莫2 小时前
Pytest教程:Pytest与主流测试框架对比
人工智能·python·pytest
数据大魔方2 小时前
【期货量化实战】螺纹钢量化交易指南:品种特性与策略实战(TqSdk完整方案)
python·算法·github·程序员创富·期货程序化·期货量化·交易策略实战
旻璿gg2 小时前
paddleocr、paddleocrvl、ppocrv5
python
清水白石0082 小时前
手写超速 CSV 解析器:利用 multiprocessing 与 mmap 实现 10 倍 Pandas 加速
python·pandas