关于RestController一系列疑问,以及猜想

关于RestController一系列疑问,以及猜想

老师先看一下这个原图:

http://img1.sycdn.imooc.com//climg/5f7d90c6082b7c2e15561188.jpg

猜想:在serviceImpl的类上,加上了RestController 注解,我理解的是 RestController 注解当(配合jackJson时)里自带了 OBject 转JSON字符串的功能,所以使用的是RestController 

疑问:那老师,这个ServiceImpl 中的 事务会生效么

猜想:

  1. 如果重新写项目的话,是不是就相当于是把Service层去掉了,把逻辑代码写在了Controller层中了(是否正确)

  2. 如果有@RestService 就不用RestCOntroller了,只不过Spring没有而已。(是否正确)

  3. 重写项目的话,每一个接口都应该返回String(Json格式)使用JSON.fomatFormObject(),就可以不使用@RestController,而使用@Service即可了(PS:因为我觉得在Serivce中写@Service更血统更纯)是否正确



正在回答

登陆购买课程后可参与讨论,去登陆

1回答

RestController里有responseBody注解,会做json装换。因为eureka是基于HTTP的框架,所以要借助RestController注解开放HTTP接口的能力,并不是说用了这个注解之后类就成了controller。transaction会生效,spring注解生效机制是aop,只要在切面点上配置都会生效。@Service不行,缺了@ResponseBody注解不能转json,返回string不符合微服务约定,应该返回json


  • 小马丶哒哒哒 提问者 #1
    那老师,也就是说,我可以使用 @Service+@reponseBody 替换restController对嘛
    2020-10-07 22:36:05
  • 姚半仙 回复 提问者 小马丶哒哒哒 #2
    可以这么做
    2020-10-08 15:55:49
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师