• 接口开发 (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':'上传完成!'})
  • 相关阅读:
    结对-结对编项目作业名称-开发环境搭建过程
    课后作业-阅读任务-阅读提问-3
    团队-象棋游戏-项目进度
    结对-五子棋游戏-测试过程
    课后作业-阅读任务-阅读提问2
    201501006-构建之法:现代软件工程-阅读笔记
    结对编程-五子棋游戏-开发过程
    象棋游戏,代码规范
    结编程队-五子棋游戏-项目进度
    《个人-GIT使用方法》
  • 原文地址:https://www.cnblogs.com/baiby/p/10972119.html
Copyright © 2020-2023  润新知