接口开发 (server.route) 上传文件,入参是json,get,post请求

 1 import flask #自己安装
 2 import json
 3 
 4 server = flask.Flask(__name__)
 5 #启动一个服务,__name__ 代表当前一个py文件的名字
 6 #就是把当前文件当作一个服务启起来
 7 
 8 #在这个服务下开发多个接口
 9                #路径
10 @server.route('/login')#装饰器  下面的函数就不是普通的函数 是一个接口
11 def welcome():  #写死的一个接口,不经过数据库,造假的一个接口
12     data = {'code':0,'msg':'登录成功','session_id':'fhjdskhfshfw'}
13     return json.dumps(data,ensure_ascii=False)
14 
15 @server.route('/test')
16 def test():
17     data = {'code':100,'msg':'test success'}
18     return json.dumps(data)
19 
20 # server.run(port=8888,debug=True)#启动服务  #默认端口号5000
21 server.run(host='0.0.0.0',port=8888,debug=True)#启动服务  #默认端口号5000
22 #debug=True 改完代码就会自动重启
23 
24 #host='0.0.0.0' 表示用本机实际的ip去访问
25 
26 #接口开发之获取参数 
27 ################第一种get请求###################
28 @server.route('/urldata')#get请求,参数在url里面的
29 def urlData():
30     msg = flask.request.args.get('name')
31     data = {'msg':msg}
32     return json.dumps(data,ensure_ascii='False')
33 
34 #有多个参数 写多个参数就好
35 @server.route('/urldata')
36 def urlData():
37     u = flask.request.args.get('username')
38     p = flask.request.args.get('password')
39     data = {'username':u,'password':p}
40     return json.dumps(data,ensure_ascii='False')
41 
42 ################第二种post请求###################
43 @server.route('/post',methods=['post']) #post请求
44 def post():
45     u = flask.request.args.get('username') #url
46     p = flask.request.args.get('password')  #url
47 
48     #k->v  form-data里面的参数
49     stu_name = flask.request.values.get('stu_name')
50     addr = flask.request.values.get('addr')
51     data = {'username':u,'password':p,'stu_name':stu_name,'addr':addr}
52     return json.dumps(data,ensure_ascii='False')
53 
54 #获取到请求参数
55 @server.route('/add_student',methods=['post'])
56 def add_stu():
57     stu_name = flask.request.values.get('name')
58     age = flask.request.values.get('age')
59     sex = flask.request.values.get('sex')
60     addr = flask.request.values.get('addr')
61     phone = flask.request.values.get('phone')
62     stu_class = flask.request.values.get('class')
63     return json.dumps({'msg':'添加成功!'},ensure_ascii=False)
64 
65 #入参是json的
66 @server.route('/add_student2',methods=['post'])
67 def add_stu2():
68     if flask.request.is_json:
69         stu_name = flask.request.json.get('name')
70         age = flask.request.json.get('age')
71         sex = flask.request.json.get('sex')
72         addr = flask.request.json.get('addr')
73         phone = flask.request.json.get('phone')
74         stu_class = flask.request.json.get('class')
75         print(flask.request.json)
76         return json.dumps({'msg':'添加成功2!'},ensure_ascii=False)
77     else:
78         return json.dumps({'msg':'入参请传入json!'},ensure_ascii=False)
79 
80 #上传文件
81 @server.route('/file',methods=['post'])#上传文件只能是post请求 不能是get请求
82 def uploadFile():
83     file = flask.request.files.get('f')
84     print(file.filename) #获取到上传文件的文件名
85     file.save(file.filename)#保存文件 也可以写绝对路径 存入到你想存入的地方
86     return json.dumps({'msg':'上传完成!'})
原文地址:https://www.cnblogs.com/baiby/p/10972119.html