1. 前言
-
flask
也被攻克了
- 有了这个玩意
pyhton
可以很方便的写接口 或者页网页
- 这篇文章主要写接口
- 安装是必须的必 不在说了
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
}
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]
参考资料
初心
我所有的文章都只是基于入门,初步的了解;是自己的知识体系梳理,如有错误,道友们一起沟通交流;
如果能帮助到有缘人,非常的荣幸,一切为了部落
的崛起;
共勉
网友评论