所以我有一個路由文件看起來是這樣的:如何驗證Play Framework中的可選查詢參數?
GET /myRes controllers.MyController.get(ids: Option[String], elems: Option[String])
一切都很好。用戶可以通過做得到的東西:
/myRes
/myRes?ids=X
/myRes?elems=Y
/myRes?ids=X&elems=Y
然而,它們還可以通過執行查詢的接口:
/myRes?id=X
這是有問題的,因爲在這種情況下,用戶得到的結果,如果同他們詢問/myRes
,這幾乎肯定不是他們預期的結果。這對API的開發人員造成了很多混淆/錯誤。有沒有一種優雅的方式來捕獲傳遞給控制器的不正確/未指定的查詢參數,並返回此類查詢的硬錯誤?
編輯:將標題更改爲更具描述性的內容。我的問題基本上是驗證查詢參數,以捕獲傳遞給API的任何查詢參數,這些參數是無效的/正確的。
感謝您的回覆。但是,這與設置所需的參數基本相同。這也適用於查詢參數,但不是我想要做的。沒有一個查詢參數是必需的,我不想指定每個可能的查詢參數組合 - 這不能超過2-3個參數。 –
我改變了標題,希望讓問題更清楚。 –