首页 > 编程语言 > 详细

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

时间:2019-05-23 18:41:13      阅读:109      评论:0      收藏:0      [点我收藏+]

一、接口开发

  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访问接口,结果如下:

    技术分享图片

  

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

原文:https://www.cnblogs.com/coldMoon0915/p/10913683.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!