2015-12-19 71 views
1

我正在嘗試使用Spring在我的rest API上實現字段選擇器。 目前我採取了以下方法。在Spring中基於字段實現過濾的方法

我有這個模型。

public class Employee { 

    public String name; 
    public int id; 
    public Department department; 
    public Address address; 
} 

現在,如果我要揭露這個模型,其餘的我都會有以下終點 http://test.com/employees

爲了支持字段選擇,我將有 http://test.com/employees?fields=id,name

爲了支持這個,我創建了一個映射,它的模型映射到它的字段,然後我使用if-else條件來只返回預期的字段。

由於這是一個標準的設計或要求休息API,可以/應該是一個更好的方法。

有人可以指導我一些資源,這有助於在這種情況下,因爲我找不到任何東西。

謝謝。

+0

創建一個DTO,並在其餘控制器方法中將該對象作爲@RequestBody參數傳遞。讓我知道如果你想要一個示例代碼 – Pulkit

回答

1

你可以通過使用Java的Reflection API來解決這個問題。你已經知道你正在接觸的課程。對於客戶端請求的每個「字段」,檢查是否有getter方法。如果是這樣,調用它並將該值添加到響應對象。 如果你走這條路線,請測試性能,看看它是否適合你。

+0

我知道這一點,因爲它擊中了性能,我沒有這樣去。 –

相關問題