zoukankan      html  css  js  c++  java
  • 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的请求方法。

    看看:

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

  • 相关阅读:
    Representation Data in OpenCascade BRep
    Render OpenCascade Geometry Surfaces in OpenSceneGraph
    Render OpenCascade Geometry Curves in OpenSceneGraph
    OpenCascade Shape Representation in OpenSceneGraph
    Geometry Surface of OpenCascade BRep
    Geometry Curve of OpenCascade BRep
    Tyvj2017清北冬令营入学测试
    Spfa算法模板
    洛谷1016 旅行家的预算
    洛谷1290 欧几里得的游戏
  • 原文地址:https://www.cnblogs.com/star12111/p/15177708.html
Copyright © 2011-2022 走看看