當前位置:
首頁 >
api接口设计
發布時間:2024/7/23
61
豆豆
api接口設計
健壯性
一般的做法是要求客戶端在每次調用的時候帶上唯一鍵,服務端第一次正常處理,并緩存唯一鍵和結果,后面再有重復調用,即可直接獲取緩存結果返回。
如果客戶端沒有唯一鍵的條件,也可以要求傳時間戳,用時間戳作為唯一鍵。
舉個例子,比如你要對外提供字典接口。 你的service方法是入參type, type=country,就返回所有國家字典;
type=currency,就返回所有幣種字典。
其實你只想對外暴漏這兩個功能,但其實你的service還支持type=company,就返回所有公司,
這個你是不想對外暴漏的,但有可能會被調用方猜到,從而獲取了隱私數據。
所以這種情況,就應該把接口拆開,比如獲取國家就是一個接口,獲取幣種就是另外一個接口。
安全性
因為我們可以判斷當前時間和時間戳的間隔,如果大于某個值,比如大于5秒,我們就判定這個url無效。 這樣可以有效的抵擋一部分的DOS攻擊。
但安全度極高的場景,是必加的,而且至少要token+時間戳的簽名,token是客戶端的身份證明。
總結
- 上一篇: RSA公钥文件(PEM)解析
- 下一篇: java获取本机ipv4,并使用Goog