需求原型:在日常的開發過程中,我們爲了做到規範,我們需要根據不同的需求響應不同的結果,比如:
“根據用戶名和用戶年齡返回匹配的用戶的生日”,當我們拿到需求我們的做法可能是這樣的:
(1).首先我們需要一個UserModel類,該類與數據庫表對應
(2).我們還需要一個UserDto類,用來接受請求參數,爲了這個UserDto更具通用性,我們可能會包含很多與當前請求完全無關的字段,比如:地址、性別、工作等等...可這些對於我本次請求來說是完全沒有用的。
(3).我們還需要一個UserResultVo來封裝結果並返回,以此同時我們還會返回很多的無用信息和一些本就不能返回的數據。此時如果我們要去掉那些敏感數據,我們只能重新建一個類。
這樣一來一回,我們已經建了至少三個實體類,這樣搞我們是真的累,但不這樣做又不行。
所以我苦思冥想想出這樣的一個解決方案:我們只需要一個UserModel每次根據請求的參數來生成一個動態的臨時參數類,響應也是如此。我們甚至能根據不同請求參數制定出不同的響應結果通過同一個方法。
“給我什麼,我就生成一個只含有你給的這幾個字段的實體類。你要生麼,我就給你響應只含有幾個字段的實體類“
思路圖:
有興趣或者能力強的朋友可以一起做!