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':'上传完成!'})