2014-09-23 45 views
1

我創建一個REST Web服務,使得URL是如下: /用戶/ {用戶id} /圖片/ {圖像標識}你是否在資源類或服務類中進行輸入參數驗證?

我會做以下驗證之前,我做任何事情: 1.驗證userId格式正確。例如:整數,而不是字符串等 2.驗證imageId格式正確。例如:整數,而不是字符串等 3.驗證數據庫中是否存在userId。 4.驗證數據庫中是否存在imageId。

我有兩個類(在服務器端)。一個類是「Resource」類,並且此類從客戶端應用程序獲取第一個調用(控制)。然後這個類將輸入發送到「服務」類。服務類負責業務邏輯。

現在哪個類應該執行上面提到的四種驗證?選項1:在「資源」類上執行驗證:「驗證1」(上圖)和「驗證2」,並在「服務」類上執行「驗證3」和「驗證4」。

選項2:在「服務」類中執行所有驗證。

哪個選項是驗證輸入的最佳方法。請讓我知道哪個選項更好。

回答

1

驗證的目的是減少無效數據調用的功能。 所以選項1會更好。如果Userid和圖像格式不正確,則不要調用其他功能。