flask 接口get-post

简介: flask 接口get-post

1. 前言

  1. flask 也被攻克了
  2. 有了这个玩意 pyhton 可以很方便的写接口 或者页网页
  3. 这篇文章主要写接口
  4. 安装是必须的必 不在说了

2.  直接上代码 get

import json
# 创建 Flask 应用,__name__ 是当前模块的名称,
# 用于指定 Flask 应用的根目录。
app = Flask(__name__)
# 默认都是 get 请求
# 装饰器定义路由 / 根路径
# 多个路由:
@app.route("/")
@app.route("/home")
def index():
    return 'hello Flask 热更新'
# 如果返回 列表和字典报错 用  jsonify(列表)
@app.route("/login")
def login():
    return {
        "code": 1000,
        "msg": '登录成功',
        "data": {
            "name": 'yzs',
            "age": 18
        }
    }
# 基础用法<username> 
# 限制类型<int:age>
# 限制类型额范围<any(a,b,c):name>  元组限定范围 abc中的一个
@app.route("/login/<any(a,b,c):username>")
def login_p(username):
    print('login-username', username)
    return {
        "code": 1000,
        "msg": '地址参数 成功',
        "data": {
            "name": username,
            "age": 18,
        }
    }
#  既可以是get 也可以是post请求
@app.route("/register", methods=['POST', 'GET'])
def register():
    if request.method == "POST":
        print('post---请求')
    else:
        print('get--请求')
    return [1, 2, 526]
#  get 参数  http://yzs.com/search?qeury='演示'
@app.route("/search")
def search():
    kw = request.args.get('query')
    print('参数', request.args)
    return {
        "code": 1000,
        "msg": 'search 成功',
        'kw': kw
    }
# 返回的 是从json文件读取的数据
@app.route('/json', methods=['GET'])
def get_data():
    with open('./movie.json', 'r') as file:
        data = json.load(file)
    return jsonify(data)
if __name__ == '__main__':
    # host port debug 默认 5000
    # threaded 是否多线程
    app.run(port=8081, debug=True)

3. post

# **********************************  post
@app.route('/post_json', methods=['POST'])
def post_json():
    # data = request.get_json()
    data = request.json
    print('post---------data-:', data)
    # 处理参数...
    return {'msg': '客户端是 json 字符串的形式',
            'name': data['name']}
  • 前端发起 请求演示

postjson = () => {
        const url = '/post_json';  // 请求的URL
        const data = {             // JSON 格式的数据
            name: 'yzs'
            age: 18,
        };
        fetch(url, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
            },
            body: JSON.stringify(data),
        })
            .then(response => response.json())
            .then(data => {
                // 处理响应数据
                console.log(data);
            })
            .catch(error => {
                // 处理请求错误
                console.error(error);
            });
    }

@app.route('/postStrObj', methods=['POST'])
def post_data():
    param1 = request.form.get('name')
    param2 = request.form.get('age')
    print('param1',param1)
    # 处理参数...
    return {
        'name': param1,
        "age": param2
    }
  • 前端是 js 演示

postStrObj = () => {
        fetch('/postStrObj', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded'
            },
            body: `name=${username.value}&age=value2`
        })
            .then(response => response.json())
            .then(data => {
                console.log(data);
            });
    }

4. 跨域

全部允许跨域

from flask_cors import CORS ,cross_origin
app = Flask(__name__)
CORS(app, resources={r"/*": {"origins": "*"}})

单个接口跨域设置

@app.route("/list")
@cross_origin()
def get_list():
    return  [1,34,6,8,8,9]

参考资料


初心

我所有的文章都只是基于入门,初步的了解;是自己的知识体系梳理,如有错误,道友们一起沟通交流;
如果能帮助到有缘人,非常的荣幸,一切为了部落的崛起;
共勉


相关文章
|
4月前
|
前端开发 数据库 Python
使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
【1月更文挑战第13天】使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
95 7
|
4月前
|
测试技术 Apache 项目管理
软件测试|探索Flask接口路由技术:构建灵活可拓展的Python应用
软件测试|探索Flask接口路由技术:构建灵活可拓展的Python应用
29 1
|
11月前
|
机器学习/深度学习 JSON 缓存
flask部署深度学习api接口
flask部署深度学习api接口
11404 3
|
12月前
|
JSON 安全 Java
手把手教你使用Flask框架构建Python接口以及如何请求该接口
手把手教你使用Flask框架构建Python接口以及如何请求该接口
|
小程序 测试技术 数据库
软件测试|Flask框架-接口使用
软件测试|Flask框架-接口使用
166 0
软件测试|Flask框架-接口使用
|
Web App开发 存储 前端开发
Python3,使用Flask来实现接口请求
Python3,使用Flask来实现接口请求
390 0
Python3,使用Flask来实现接口请求
|
Python
Python:改造flask接口服务提供统一格式的返回数据
Python:改造flask接口服务提供统一格式的返回数据
449 0
|
Python
Flask - 访问返回字典的接口报错:The view function did not return a valid response. The return type must be a string, tuple, Response instance, or WSGI callable, but it was a dict.
Flask - 访问返回字典的接口报错:The view function did not return a valid response. The return type must be a string, tuple, Response instance, or WSGI callable, but it was a dict.
1412 0
Flask - 访问返回字典的接口报错:The view function did not return a valid response. The return type must be a string, tuple, Response instance, or WSGI callable, but it was a dict.
|
存储 JSON 数据库
使用Flask开发简单接口
作为测试人员,在工作或者学习的过程中,有时会遇到没有可以调用的现成的接口,导致我们的代码没法调试跑通的情况。 这时,我们使用python中的web框架Flask就可以很方便的编写简单的接口,用于调用或调试。在之前的pytest系列文章中,已经使用过Flask编写接口用于代码调试。相比于python的另一个web框架Django,Flask编写接口要方便简单很多。 那么,接下来就告诉大家如何使用Flask编写简单的接口吧。
使用Flask开发简单接口