2017-08-22 57 views
0

在用戶API(/api/users)屬性爲team_id的情況下,我想設置一個端點,使我可以獲取具有特定團隊ID的用戶,即/api/users?team_ids=1&team_ids=2&team_ids=3REST API最佳實踐:在空時忽略過濾器

我的問題是,如果我想忽略這個過濾器呢?

例如,如果UI中存在多選下拉菜單並且用戶取消選擇所有team_ids,則預期結果將不會是任何結果,因爲他們選擇了零個團隊,並且所有用戶都在團隊中。但從API的角度來看,我認爲預計/api/users將返回所有用戶是合理的。

回答

0

您可以簡單地製作所需的參數,如果它不存在,則響應是一個空數組。或者你可以限制返回的用戶數量

+0

那麼問題是,我該如何支持兩者:a)返回所有用戶而不要求API請求知道所有團隊ID,b)返回指定團隊的用戶可以是none) –

+0

您可以使用POST進行搜索,並且所有用戶都使用GET。在REST中沒有任何規則必須使用POST請求保存某些內容,因此可以使用POST進行搜索或過濾。 – user3743266

+0

我的目標是在「GetAll」和過濾/分頁之間共享兩者之間的REST API資源請求 –