背景:別人讓我提供一個介面,內部呼叫,傳參是對方定義的,只有兩個引數,與我已有的vo類都不重合,使用post請求,如果我單獨建一個vo有點浪費,于是我就使用@RequestBody Map接收,領導讓我改掉。想請問大家有相關規范或者理由支持為什么不能這么寫嘛?
uj5u.com熱心網友回復:

大佬們誰能幫小弟解釋解釋
uj5u.com熱心網友回復:
你可以裝一個阿里編碼規范uj5u.com熱心網友回復:
引數少直接定義String userId String bookId即可其實多建個vo物體類也不麻煩呀,方便之后擴展
命名規范 簡單明了 即可
uj5u.com熱心網友回復:
使用vo的好處是代碼可讀性很高,能夠立即知道都有哪些引數,而map都不知道有哪些key,還有,你這個map都不要定義的,request.getParameterMap里面就是引數uj5u.com熱心網友回復:
PO、VO、BO了解下uj5u.com熱心網友回復:
建個vo并不費事,一分鐘不到,但物體類比map約束更強,也更直觀,維護起來更簡單,map幾乎沒有約束,強型別能減少溝通和維護成本其實,按我的想法是,你回傳值回傳Data我都覺得不夠完美,這個是純粹的代碼重復,直接回傳物件即可
可以反擊下你們領導~
https://blog.csdn.net/educast/article/details/82863570
uj5u.com熱心網友回復:
vo + validator + swagger2 + 統一例外處理uj5u.com熱心網友回復:
這個是僅此一個的個性化介面引數…連可讀性都是調方當定義的uj5u.com熱心網友回復:
就是太個性,不可能來一個個性的我給別人定義一個vo…所以這個個性的我就使用map,領導說讓改掉,不合規范,我就是不知道哪里的來的規范有這個接受引數的uj5u.com熱心網友回復:
阿里規范木有掃出來不能使用map接收……uj5u.com熱心網友回復:
一般還是建個dot 或者vo類,這樣直觀,如果前后端分離 使用sawwger,還可以通過注解做介面檔案注釋. 使用map接收, 一般不會這樣做,確實應該說low.......uj5u.com熱心網友回復:
其實理由就是 大家都這么做,就跟著這么做,就好了uj5u.com熱心網友回復:
多人開發還是盡量避免map。最關鍵的是你用了map還不寫好注釋,換我也會讓你改。uj5u.com熱心網友回復:
你這樣寫,前端人員不知道要傳哪些引數給你,哪些引數合法,哪些引數必需。以后你離職了,別人怎么知道你map需要哪些?難道讓別人看代碼去檢查要哪些?甚至時間隔久了,連你自己都忘記這個map需要哪些引數。uj5u.com熱心網友回復:
唯一的辦法就是通過注釋 解釋清楚需要哪些。但要記住,凡是別人看不懂,自己也不懂,需要注釋才能知道你在干什么的代碼,都是很low的代碼。uj5u.com熱心網友回復:
首先你這是個post請求,你應該對請求的引數做一個校驗,你得把所有引數從map里get出來,然后判斷能不能為空、正則是否滿足、是否在合理范圍等,還是比較麻煩的。寫個物體類接收,配合一些注解式校驗就很方便。這就是為什么不建議用map接收的原因。uj5u.com熱心網友回復:
其實我感覺你是糾結low這個詞匯上,領導說low的意思我感覺是說不通用的意思,你以為領導實在說你技術差uj5u.com熱心網友回復:
設定DTO,使用swagger2,真的很頂uj5u.com熱心網友回復:
用map接引數的都是行業毒瘤轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/284614.html
標籤:Web 開發
上一篇:pdf.js 如何觸發request 引數中有range .
下一篇:微服務要不要自學?
