关于 controller层与service层如何传值?

现在的架构controller层与service层使用的map<string, string>传值,感觉很多时候数值转换很麻烦; 但是如果用bean对象传值,需要建很多专门用来传值的bean。。。。求架构大神指点一下

阅读 18.4k
6 个回答

这就是一个细节代码实现问题,还不到架构。。

用map传参显然是有问题的,用封装好的model传值语义上更明确些,而且便于维护,model多并不是啥问题

若觉得每次从map转model很烦琐的话,可以用BeanUtil工具或者自己写个工具类做转换

赞同楼上,model多可以用package做分层

尽量写出便于维护的代码,用map做返回参数对于以后维护是噩梦

最开始的时候,我会使用bean来在两层之间传值,后来,要求我们加入一个facade层,夹在了service和controller之间,并且参数全部拆开,一个一个的写,我记得有个函数20多个参数,快写哭了。但是从代码共用的角度来讲,这样的facade层的接口,真的是非常的清晰(虽然bean作为一个参数也可以做到)

同意一楼,建议参数少的话,直接传指定类型的变量,多的话,直接搞个dto,参数传对象

建议使用bean传值,安全可靠,便于维护。业务要求众多bean的话,一定要分包分层管理bean,一个结构清晰、层次分明的项目文件结构有助于理清开发思路。

最好用bean来传值,还有一种方式就是json来传值,我在vertx里就喜欢用json和jsonArray来进行传值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题