从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()
相关推荐
2401_857610033 分钟前
Spring Boot框架:电商系统的技术优势
java·spring boot·后端
Young_2022020218 分钟前
学习笔记——KMP
笔记·学习
娅娅梨22 分钟前
C++ 错题本--not found for architecture x86_64 问题
开发语言·c++
汤米粥28 分钟前
小皮PHP连接数据库提示could not find driver
开发语言·php
冰淇淋烤布蕾31 分钟前
EasyExcel使用
java·开发语言·excel
行然梦实34 分钟前
学习日记_20241110_聚类方法(K-Means)
学习·kmeans·聚类
拾荒的小海螺37 分钟前
JAVA:探索 EasyExcel 的技术指南
java·开发语言
马船长40 分钟前
制作图片木马
学习
秀儿还能再秀1 小时前
机器学习——简单线性回归、逻辑回归
笔记·python·学习·机器学习
WCF向光而行1 小时前
Getting accurate time estimates from your tea(从您的团队获得准确的时间估计)
笔记·学习