• python+requests公共模块部分的封装


    今天的内容是以前文章中遗漏的,以前只讲了配置文件的封装,配置文件的内容包括,读取yaml文件的方法,requests.request的请求方法,

    向yaml文件中添加数据的方法,template 模板中的substitut的方法等,

    以前没有讲公共方法,例如:url,headers的封装,公共参数单独放到公共模块中,这样方便维护和修改。

    其实也简单,就是新建一个文件夹,例如:取名:common

    里面新建一个文件例如:common,

    文件中就新建两个方法了,公共的url和headers

    如下:

    class common():

    def base_url(self):

      base_url="www.***********"

      return  base_url                   (此处的url是环境信息,也可能是分为测试环境,开发环境,预生产环境,定义在此处的目的就是方便后期修改的时候,只需要修改这个地方,不要在yaml文件中,一个url一个url的修改)

    headers={}

    def head_common(self):

     headers[userid]=...."

     headers[client]=....."

     ........

    return headers               (这个是公共的请求头,实际中可能某个接口的请求头需要更多的参数信息,或者少的信息,我们直接在请求体中补充就可以了。)

    补充请求头信息:例如:

    def  red_color(self):

       url=base_url+"/api/v1/record"

     method=data[red_color][method]

       headers=base_api().headers_common()

       headers[userid]='.....1212121'

      json=data[red_color][json]

      return  base_api().send(url=url,method=method,json=json,headers=headers)

    这样就可以把公共模块中的base_url和headers带过来使用了,同时yaml文件中也不需要每个接口都写一次headers,

    后续如果需要修改url这个环境时候,直接再公共模块中修改就可以了,非常的好维护。

    另外补充一个config文件中的一个方法或者类,就是封装response返回结果的,

    在api_base文件中,增加如下代码:

     其中的msgcode,message,data等数据是根据具体的项目来定义的,这里只是提供一个思路,有点类似与requests.request的请求方法。

    看看:

    最后总结:核心思路就是把易变的,频繁使用的单独拿出来,封装成一个方法,供别人调用。

  • 相关阅读:
    linux设备驱动第五篇:驱动中的并发与竟态
    chromium浏览器开发系列第二篇:如何编译最新chromium源码
    你所不知道的html5与html中的那些事(二)
    vim 高级使用技巧第二篇
    FFMPEG高级编程第一篇:环境搭建及编译
    android apk 防止反编译技术第一篇-加壳技术
    你所不知道的html5与html中的那些事(一)
    交通视频
    Git命令----放弃本地修改使用服务器上的代码
    IE10(去掉文本框的X)
  • 原文地址:https://www.cnblogs.com/star12111/p/15177708.html
Copyright © 2020-2023  润新知