正常情況下,前後端對於請求的引數都需要校驗的,這能提高應用程式的穩定性、可維護性,而對於前後臺如果能將這種不可缺少校驗規則彙總並制定一套規範,在每乙個應用程式中都使用這種規範,能給帶來不少好處。那在哪些情況下適合使用前、後端校驗了:
當介面請求引數不符合
api約定,期望返回明確的提示資訊
引數校驗點
介面返回建議
引數缺少時
引數必填校驗
例如:account不能為空
引數邊界值校驗
例如:賬號長度必須是6-11個字元
引數型別
例如:amount必須為正整數
列舉不匹配
例如:證件型別不正確
身份許可權驗證
例如:普通使用者操作管理員功能
密碼不能明文傳輸
上傳檔案介面
例如只能上傳
不可以上傳其他檔案或者偽裝成的可執行檔案
寫介面不能寫入可造成xss攻擊的內容
例如驗證:
,看資料庫是否把
<>替換成其他字元< >或者被過濾掉
複雜事務流程不能跳過某項流程
例如:某個事務流程是a->b->c->d才能完成
驗證項:a->b->d
事務要拒絕或者並且將狀態重置回初始狀態
參照:[1]
[2]
介面測試 引數校驗
其他 如下 示例 public class supermarket 必傳 1.如果我不傳業務邏輯會怎樣 比如走到下游?邏輯不合理?不傳的預期結果是啥?非必傳 不傳會走到預設值,會對業務有哪些影響 比如 已知integer title的值肯定會大於0,那需要校驗值為 1 string傳空字串,stri...
thinkphp5 構建介面引數校驗層
1,為什麼要封裝gocheck方法?namespace use class banner else 引數的驗證的流程 在控制層banner.php中校驗http引數首先是獲取引數,然後呼叫它的驗證規則。如果沒有符合它的驗證規則,還需要自定義驗證規則具體請參照自定義驗證規則一節。如果每乙個控制器的方法...
Spring MVC 引數校驗
method requestmethod.get responsebody public ajaxresult getallrulesbyquery requestparam value statestr required false string statestr,requestparam val...