Spring Rest的注解annotation和配置文档(ContentNegotiatingViewResolver)的区别

参考文章, 我们可以知道spring MVC的controller和restcontroller的区别, 就是「完成处理后, 有没有返回到dispatcher 」

问: 没有viewresolver产生的问题.

  1. 无法JSP进行跳转, 也就无法进行再处理, 只能直接映射到文件.
  2. 使用viewresolver的代码, 需要大幅度修改.

解决方案:
1. JSP和XML,JSON文件分开两个method处理, 只能通过consumes分流处理.
2. 新建一个实体jsp文件, 进行跳转, 从而进行操作.
3. 自定义MessageConverter.

我理想中的restcontroller: return可以指向一个具体的view. 通过forward等语法, 或者注解方式来区别”纯文字和指令”.
实际=> 无法使用跳转指令.
综上, restcontroller需要修改不少代码. 这种方式适合创建代码


另一种方式, 仍可以使用viewresolver, 因为它本身就是ContentNegotiatingViewResolver, 对于之前用view resolver的码农来说, 并不需要太多学习成本

配置文档, 可以大规模的处理, 并兼容之前的Spring MVC 的controller, 看起来很好. 也可以解决URL的地址为变量的问题

/abc/{d}

总结: restcontroller方便, 不过无法设置default file, 也就是一定要用.jsp ,适合从零开始
ContentNegotiatingViewResolver则适合现存代码量多的时候, 修改代码

参考:
http://ufasoli.blogspot.com/2013/08/viewresolver-vs-messageconverter-spring.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值