从0开始python学习-53.python中flask创建简单接口

目录

[1. 创建一个简单的请求,没有写方法时默认为get](#1. 创建一个简单的请求,没有写方法时默认为get)

[2. 创建一个get请求](#2. 创建一个get请求)

[3. 创建一个post请求,默认可以使用params和表单传参](#3. 创建一个post请求,默认可以使用params和表单传参)

[4. 带有参数的post请求](#4. 带有参数的post请求)


1. 创建一个简单的请求,没有写方法时默认为get

python 复制代码
from flask import Flask, request

# 初始化一个flask的对象
app = Flask(__name__)

@app.route("/")
def a():
    return "简单接口"  # 注意一定要有返回

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

2. 创建一个get请求

python 复制代码
from flask import Flask, request

# 初始化一个flask的对象
app = Flask(__name__)

@app.route("/get",methods=['get'])
def get():
    name = request.values.get('name')
    age = request.values.get('age')
    if name is None or name == '':
        return '姓名必填'
    elif age is None or age == '':
        return '年龄必填'
    else:
        return {'name为:':name,'age为:':age}

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

3. 创建一个post请求,默认可以使用params和表单传参

python 复制代码
from flask import Flask, request

# 初始化一个flask的对象
app = Flask(__name__)

@app.route("/post",methods=['post'])
def post():
    name = request.values.get('name')
    age = request.values.get('age')
    if name is None or name == '':
        return '姓名必填'
    elif age is None or age == '':
        return '年龄必填'
    else:
        return {'name为:':name,'age为:':age}

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

4. 带有参数的post请求

python 复制代码
import time

from flask import Flask, request, jsonify

# 初始化一个flask的对象
app = Flask(__name__)

# form参数的post接口
@app.route("/post_form",methods=['post'])
def post_form():
    name = request.form.get('name')
    age = request.form.get('age')
    if name is None or name == '':
        return '姓名必填'
    elif age is None or age == '':
        return '年龄必填'
    else:
        return {'name为:':name,'age为:':age}

# json参数的post接口
@app.route("/post_json",methods=['post'])
def post_json():
    data = request.json

    if not all(key in data for key in ['name', 'age']):
        return jsonify({'error': '姓名和年龄是必填项'})

    return jsonify(data)

# 文件上传的post接口
@app.route("/post_file",methods=['post'])
def post_file():
    # 获取需要上传的文件
    file = request.files.get('files')
    # 获取文件名
    filename = file.filename
    # 上传文件保存路径和格式(保证文件格式正常,使用切片的方式分段获取)
    with open("D:\\"+filename.split(".")[0]+"_"+str(int(time.time()))+"."+filename.split(".")[1],"wb") as f:
        f.write(file.read())

    return filename +'上传成功'


if __name__ == '__main__':
    app.run()
相关推荐
stolentime几秒前
OpenClaw 2.0 新手快速上手与实战指南
爬虫·python·ai·网络爬虫
catino4 分钟前
高并发详解
后端
启观川8 分钟前
Python基础-第 16 章 综合案例:客户信息管理系统
开发语言·笔记·python·正则表达式
用户37215742613511 分钟前
如何使用 Python 给 PDF 添加附件:文档附件与附件注释
python
掘金者阿豪11 分钟前
GPT-6 Astra 来了,GPT-5.6 Sol 还值得用吗?聊聊 Coding、百万上下文、价格和 Plus/Pro
前端·后端
无小道12 分钟前
C/C++——可变参数
c语言·开发语言·c++·可变参数
λqaq719 分钟前
Redis 数据库基础:安装、5 大核心数据类型与常用命令
linux·数据库·redis·python·缓存
BioRunYiXue19 分钟前
科研干货 | IC50全面解读:概念解析、实验设计与数据分析要点
java·开发语言·javascript·人工智能·算法·数据挖掘·数据分析
边境悍匪20 分钟前
蜗牛学苑 Java 智能体学习 Day34|AOP 进阶、权限思维导图复盘
java·开发语言·spring boot·学习
天天被压力21 分钟前
【零依赖量化数据实战 #31】沪深A实时盘口全景:逐笔·全盘实时·最新价·历史逐笔
java·人工智能·python