2
我正在使用rails來構建API,這可能需要很多參數。理想情況下,如果用戶在請求中包含了一個額外的,不必要的參數,而這個請求不會造成請求不明確,我想按正常方式處理。這顯然阻止我簡單地寫從軌道中的params哈希中拒絕額外的url參數
ApiRequest.new(params)
因爲一個UnknownAttributeError如果有什麼額外的params哈希表將被拋出。有沒有簡單的方法來拒絕額外的屬性,或者我必須編寫一個方法來手動驗證請求,然後再創建一個新的對象。另外,這會被認爲是不好的API實踐,如果發生這種情況,我應該用HTTP 400做出響應嗎?
感謝, 湯姆
你如何決定什麼屬性是'額外'? – 2012-04-16 21:52:37
額外我只是指任何不在ActiveRecord中或定義爲模型中的屬性。基本上沒有爲特定API操作定義的任何參數。 – 2012-04-17 08:34:36
您可以通過調用'YourModel.attributes'來獲取所有模型屬性。然後你可以過濾掉任何額外的參數。 – 2012-04-17 09:19:16