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的請求方法。

看看:

 

 

最后總結:核心思路就是把易變的,頻繁使用的單獨拿出來,封裝成一個方法,供別人調用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM