为了账号安全,请及时绑定邮箱和手机立即绑定

springmvc使用@requestMapping与用参数指定方法名转发的优缺点?

springmvc使用@requestMapping与用参数指定方法名转发的优缺点?

守着一只汪 2019-01-18 08:58:46
1.问题:在对接一些平台的时候,发现接口调用方式不同了,这样子做是有什么好处么?举个例子:某平台的v1版本是一个接口一个路径的方式:(@RequestMapping的形式) 如:查询用户信息接口是这样的,http://xxxxx.com/v1/getUserInfo 查询用户余额接口是这样的,http://xxxxx.com/v1/getUserBanlance v2版本变成传参code来决定调用方法: 如:查询用户信息接口是这样的,http://xxxxx.com/v2/commonRequest?code=getUserInfo 查询用户余额接口是这样的,http://xxxxx.com/v2/commonRequest?code=getUserBanlance 2.求助冒昧说下我自己的观点,v2版本这种方式需要获取到code参数,并且使用反射的方式去调用对应方法,效率岂不是更加低一些,这么设计的优点在哪里呢?希望能得到大家的帮助。
查看完整描述

2 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

其实我觉得实现中是否使用了反射或者任何细节技术不是判定一个API设计优劣的先决条件,如题主描述的场景,用V1还是V2其实取决于对两个业务耦合内聚的理解。V2对用户来说,查询用户信息和查询余额就是同一接口,通过传入不同的参数来获得不同的数据。
我个人倒觉得V1更符合RestFul API的设计理念,也是结合这两个接口其实不太相同,至少返回上一个是用户信息,一个是余额,语义差别较大。至于实现上,第一种其实同样也可以通过反射实现。同样,第二种也可以不通过反射。
总之,API的设计不看后端实现,只看最后出来的URL长什么样子,综合来和RestFull是个不错的规范,建议参考。
至于实现上,当你发现有一些无聊代码时,可能可以使用反射来消除这种无聊代码,但从我个人来说,不觉得反射用在这个地方用得好,我们其实更应该关注业务代码中真正需要重构的地方。

查看完整回答
反对 回复 2019-02-12
  • 2 回答
  • 0 关注
  • 410 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号