27 - restful 接口开发

官方文档: 快速入门 — Flask-RESTful 0.3.1 documentation

一. 什么是RESTful架构?

        1. 每一个url代表一种资源

        2. 客户端和服务器之间,传递这种资源的某种表现层

        3. 客户端通过四个http动词(get,post,put,delete,patch),对服务器端资源进行操作,实现"表现层状态转化"

        4. 前后端分离

二. 搭建flask环境

        (1). 安装第三方库
pip3 install flask==2.3.2 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip3 install jinja2==3.1.2 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install pymysql
pip install flask-script==2.0.3
pip install flask-migrate==2.7.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/ #发布命令工具
        (2). 配置settings.py文件
import os
 
 
class Config:  # 公共配置
    DEBUG = True
    # mysql + pymysql ://user:password@hostip:port/databasename
    SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:root@127.0.0.1:3306/apidb'
    SQLALCHEMY_TRACK_MODIFICATIONS = False  # 忽略警告
    SQLALCHEMY_ECHO = True  # 开发调试
 
    # 使用session必须加上配置:随机字符串
    SECRET_KEY = "HAJSDLASDNADALK"
 
    # 项目路径
    BASE_DIR = os.path.dirname(os.path.abspath(__file__))
    # 静态文件夹路径
    STATIC_DIR = os.path.join(BASE_DIR, 'static')
    TEMPLATE_DIR = os.path.join(BASE_DIR, 'templates')
    # 头像的上传目录
    UPLOAD_ICON_DIR = os.path.join(STATIC_DIR, 'upload/icon')
    # 相册的上传目录
    IPLOAD_PHOTO_DIR_ = os.path.join(STATIC_DIR, 'upload/photo')
 
 
class DevelopmentConfig(Config):  # 开发环境
    ENV = "development"
 
 
class ProductionConfig(Config):  # 生产环境
    ENV = 'production'
    DEBUG = False
        (3). 新建文件: apps 包  /  ext 包
        (4). 配置 ext / __init__.py
        (5). 配置apps / __init__.py 

        (6). views.py 创建蓝图
        (7). apps / __init__.py 注册蓝图 

         (8). 配置 app.py 文件
from flask_migrate import Migrate, MigrateCommand
from flask_script import Manager

from apps import create_app
from ext import db

app = create_app()

manager = Manager(app=app)

migrate = Migrate(app=app, db=db)
manager.add_command("db", MigrateCommand)

if __name__ == '__main__':
    manager.run()

 三. restful快速开始

        (1). 安装第三方库
pip install flask-restful
        (2). ext / __init__.py 创建api对象
        (3). apps / __init__.py 初始化api
         
        (4). 创建模型类
        (5). app.py 引入模型类
        (6). 迁移模型

 

        (7). 定制需要response的信息
        (8). 定义视图类(装饰器绑定response的信息)
        (9). api.add_resource(类对象,"路由"),视图类绑定路由

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值