亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

springmvc使用@requestMapping與用參數指定方法名轉發的優缺點?

springmvc使用@requestMapping與用參數指定方法名轉發的優缺點?

函數式編程 2019-05-13 11:07:08
1.問題:在對接一些平臺的時候,發現接口調用方式不同了,這樣子做是有什么好處么?舉個例子:某平臺的v1版本是一個接口一個路徑的方式:(@RequestMapping的形式)如:查詢用戶信息接口是這樣的,http://xxxxx.com/v1/getUserInfo查詢用戶余額接口是這樣的,http://xxxxx.com/v1/getUserBanlancev2版本變成傳參code來決定調用方法:如:查詢用戶信息接口是這樣的,http://xxxxx.com/v2/commonRequest?code=getUserInfo查詢用戶余額接口是這樣的,http://xxxxx.com/v2/commonRequest?code=getUserBanlance2.求助冒昧說下我自己的觀點,v2版本這種方式需要獲取到code參數,并且使用反射的方式去調用對應方法,效率豈不是更加低一些,這么設計的優點在哪里呢?希望能得到大家的幫助。
查看完整描述

2 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

其實我覺得實現中是否使用了反射或者任何細節技術不是判定一個API設計優劣的先決條件,如題主描述的場景,用V1還是V2其實取決于對兩個業務耦合內聚的理解。V2對用戶來說,查詢用戶信息和查詢余額就是同一接口,通過傳入不同的參數來獲得不同的數據。我個人倒覺得V1更符合RestFulAPI的設計理念,也是結合這兩個接口其實不太相同,至少返回上一個是用戶信息,一個是余額,語義差別較大。至于實現上,第一種其實同樣也可以通過反射實現。同樣,第二種也可以不通過反射??傊?,API的設計不看后端實現,只看最后出來的URL長什么樣子,綜合來和RestFull是個不錯的規范,建議參考。至于實現上,當你發現有一些無聊代碼時,可能可以使用反射來消除這種無聊代碼,但從我個人來說,不覺得反射用在這個地方用得好,我們其實更應該關注業務代碼中真正需要重構的地方。
                            
查看完整回答
反對 回復 2019-05-13
  • 2 回答
  • 0 關注
  • 1238 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號