Rewrite功能適合對某一類網絡請求進行一些正則替換,以達到修改結果的目的。
可以重寫接口所有元素的內容:header、host、url、path、query param、response status、body.
具體操作如下:
1.點擊Charles菜單欄Tools中的Rewrite,
2.彈出Rewrite Settings框,勾選左上角的Enable Rewrite選項,並點擊Add,左側邊框出現Untitled Set,在右側的Name欄可以對此次的Rewrite進行重命名。
在右側Location欄點擊Add,在彈出的Edit Location對話框中,填入相關參數,最后點擊OK
接着,在右側Rules欄點擊Add,在彈出的Rewrite Rule對話框中,填入相關參數,最后點擊OK
一、修改接口返回報文參數
作用:對請求的響應內容做修改,一般是對某一個或幾個值進行rewrite,用新的值來替代返回的值
使用場景:可以用來mock數據,比方說在開發中為了測試功能需要請求的某個數組字段有值,但是當前環境無法給出,那么就可以使用該功能
會將返回數據中的2018-08-05全部替換成2018-08-03
二、修改請求的header
作用:可以對請求或者響應的header內容進行操作,包括添加、修改及刪除。
使用場景:在需要對header進行處理時用到,例如為了用上某個環境數據,可能需要對應userid,這時本地開發是可以在請求的header中加上userid信息;也可以重寫響應header的信息
會在請求的
header中添加
userid屬性。
注:Match欄的name和value值如果不填會匹配所有的請求,如果有值,則去匹配有改鍵值的請求。
三、修改path
主要rewrite path內容使用指定rewrite規則的path來響應指定的請求path,它可以對path進行裁剪
請求的結果如下:
四、其他
host: 主要是對請求進行host修改,以達到本地請求獲取指定host環境中的數據,常見於mock數據
url: 作用:修改url中某些部分,可以用別的url進行替換或者url裁剪時間戳或者md5等
使用場景:場景使用非常多,既可以對host也可以對path進行rewrite,可以滿足指定host下的請求重定向到其他host下對應path下
query param:作用:可以對param進行操作,包括修改、添加、刪除等
使用場景:有時請求可能多傳遞了不必要的參數,這時可以rewirte功能去掉多余的參數;另外也可以添加請求必須而暫時無法提供的參數
response status: 很少用到,顧名思義就是對response的狀態碼進行rewrite
作者:葶寳寳
鏈接:https://www.jianshu.com/p/82f48d5beee5
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
