python基础语法_学习笔记(七) _接口开发和程序分开目录

一、接口开发

  1.mock接口开发

    a.没有模拟好的接口,可以模拟它

    b.给别人提供数据

  2.flask功能和格式

    a.flask 是一个轻量级框架,可以使用它实现一个网站或者web服务。

    b.首先要先安装第三方模块flask ,再引用

      pip install flask

    c.用flask开发接口的流程:

    (1).定义一个server

      server=flask.Flask(__name__) #__name__代表当前的python文件。把当前的python文件当做一个服务启动

     (2).然后定义接口函数,一般函数和接口函数的区别在于,定义为接口的函数上方要特别加上:

        @server.route('/index',methods=['get','post']) #第一个参数就是路径,第二个参数支持的请求方式,不写的话默认是get

        

     (3).执行server

       server.run(port=8888,debug=True,host='0.0.0.0')   #  host不写,默认的是本地地址127.0.0.1,只能自己访问,如果host='0.0.0.0',则可以其他电脑访问,并且地址是你电脑的ip地址

      #port可自定义填写。不要与机器上已占用的port冲突。

      #debug=True,在代码进行修改后,程序会自动重新加载,不用再次运行。也就是运行一次即可,即使改动代码,也不需要重启服务

       #host本地ip地址,写0.0.0.0,可以让其他人直接访问本机的ip。

      #最终这个接口的访问地址就是  http://127.0.0.1/index  ,get方法或者post方法都可。返回数据是json格式res内容

        例如:          

import flask,json
server = flask.Flask(__name__)

@server.route('/login')
def welcome():
    data = {'code':0,'msg':'登陆成功','session_id':'dkshfalfhsadlfl'}
    return json.dumps(data,ensure_ascii=False)

server.run(port=8888,debug=True)  # 5000,debug=Ture ,服务器重启,自动重启

      在浏览器或者postman中访问接口的结果是:

      

  3.flask写get接口,参数是字符串/args  

import flask,json
server = flask.Flask(__name__)

@server.route('/urldata')
def urldata():
    msg = flask.request.args.get('name')
    pw = flask.request.args.get('pw')
    data = {'msg':msg,'pw':pw}
    return json.dumps(data,ensure_ascii=False)

server.run(port=8888,debug=True) 

  在浏览器中访问接口:

    

  4.flask写post接口,参数是values和args 

    args参数是在postman 中的Param中或者在路径中加?参数    如:   

    values参数是在body中的from-data中  如: 

import flask,json
server = flask.Flask(__name__)

@server.route('/post',methods=['post']) # post请求
def post():
    name = flask.request.args.get('name')
    pw = flask.request.args.get('pw')

    # k-v,form-data 里面得参数
    stu_name = flask.request.values.get('stu_name')
    addr = flask.request.values.get('addr')
    data = {'username':name,'password':pw,'stu_name':stu_name,'addr':addr}
    return json.dumps(data,ensure_ascii=False)

server.run(port=8888,debug=True)

   在postman中请求接口,结果如下:

       

   5.flask中写post接口,参数是json

    

import flask,json
server = flask.Flask(__name__)

@server.route('/add_stu2',methods=['post']) # post请求
def add_stu2():
    if flask.request.is_json:
        stu_name = flask.request.json.get('stu_name')
        age = flask.request.json.get('age')
        sex = flask.request.json.get('sex')
        addr = flask.request.json.get('addr')
        phone = flask.request.json.get('phone')
        stu_class = flask.request.json.get('stu_class')
        return json.dumps('添加成功',ensure_ascii=False)
    else:
        return  json.dumps('请传入json',ensure_ascii=False)

server.run(port=8888,debug=True)

  在postman中执行的结果是:

    

  6.flask 写post接口,上传文件

import flask,json
server = flask.Flask(__name__)

@server.route('/file',methods=['post']) # post请求
def uploadFile():
    file = flask.request.files.get('f')
    print('filename',file.filename)
    file.save(file.filename)
    return json.dumps('上传完成',ensure_ascii=False)

server.run(port=8888,debug=True) 

  用postman访问接口,结果如下:

    

  

猜你喜欢

转载自www.cnblogs.com/coldMoon0915/p/10913683.html
今日推荐