接口開發 (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':'上傳完成!'})

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM