我有回傳工人串列的api:
{
"items": [
{
"id": "e0fceffa-cef3-45f7-97c6-6be2e3705927",
"avatarUrl": "https://cdn.fakercloud.com/avatars/marrimo_128.jpg",
"firstName": "Dee",
"lastName": "Reichert",
"userTag": "LK",
"department": "back_office",
"position": "Technician",
"birthday": "2004-08-02",
"phone": "802-623-1785"
},
{
"id": "6712da93-2b1c-4ed3-a169-c69cf74c3291",
"avatarUrl": "https://cdn.fakercloud.com/avatars/alterchuca_128.jpg",
"firstName": "Kenton",
"lastName": "Fritsch",
"userTag": "AG",
"department": "analytics",
"position": "Orchestrator",
"birthday": "1976-06-14",
"phone": "651-313-1140"
},
....
]
}
我想過濾回應,以便我只從特定部門獲取有關員工的資訊。我試著這樣做:
interface WorkersApi {
@GET("users")
suspend fun getWorkers(
@Query("department") department: String
): Workers
}
但它回傳沒有任何過濾器的相同串列。如何過濾回應,以便僅獲取特定部門員工的資訊?
*Workers 只是一個只包含一個欄位的資料類 - 專案串列(工人)
uj5u.com熱心網友回復:
您嘗試執行的操作更改了對服務器的請求。它將部門作為查詢引數與請求一起發送。如果服務器不支持此引數,則不會發生任何事情。我不知道您是否與控制后端的人員一起作業,但您可以與他們討論他們是否可以添加過濾結果的功能。
相反,如果您想在從服務器獲取完整串列后過濾結果,只需對您獲得的串列應用過濾器。
你可以在你的Workers物件上做這個
val department = "example"
val filteredList = workersObject.items.filter {it.department == department}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/346590.html
