@RestController的作用

 

先看下@RestController的代码

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {
	String value() default "";
}

 可以看到这个注释继承@Controller@Responsebody,相当于一个便捷式的注解效果等同于在类上同时添加上述两个注解。那他们两有什么效果呢

 

@Controller标识这个一个controller类

@Responsebody为方法做注释时表示方法的返回值会被放到查询的response中,也就是比如返回值是一个String“justin”,HttpResponse的body部分就是“justin”,你在客户端就只看到这几个字。如果把这个注释放在类上,则相当于为此类的所有方法做了该注释。但是如果你在一个有此注释的类的方法中返回ModelAndView它还是会跳转到view中@ResponseBody就不起作用了。

 

这里有一点问题,如果想要返回的数据是json,要在方法RequestMapping上加值(produces = "application/json;charset=UTF-8"),否则似乎默认以xml格式构建对象并返回。跟json结构有时候就不一样。受过这个苦。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值