美文网首页
关于@RestController及@ResquestBody等

关于@RestController及@ResquestBody等

作者: mia米呀 | 来源:发表于2020-01-13 23:22 被阅读0次

一、类注解

@Controller、@RestController注解都是用来标注控制器类,处理由DispatcherServlet 分发的请求。

  • @Controller:将请求的数据经过业务处理层处理之后封装成一个Model ,把该Model返回给对应的View进行展示,注解返回的是一个页面。
  • @RestController:返回的是数据

二、方法注解

  • @ResponseBody的作用是将后端以return返回的javabean类型数据转为json类型数据。

注:@ResponseBody要写在方法名上

三、参数注解

注意要写在方法的参数前,不能写在方法名上方

  • @RequestParam:处理contentType为application/x-www-form-urlencoded的数据;
    同一个方法中可以使用多个@RequestParam注解;


    image.png
  • @RequestBody:处理contentType不为application/x-www-form-urlencoded的数据,比如application/json;主要作用于将前端传来的json格式的数据转为自己定义好的javabean对象,
    @RequestBody注解不可以使用多次,可以定义一个对象去接收所有的参数;


    image.png

四、组合使用

  1. 如果需要返回的是数据(如:XML或自定义的metatype等数据类型)时,@RestController==@Controller+@Responsebody:
  2. 如果要返回的是jsp、html等页面时有两种方式:
  • 仅使用Controller类注解,不添加方法注解
  • 使用RestController类注解,方法体配合ModelAndView使用


    image.png

相关文章

网友评论

      本文标题:关于@RestController及@ResquestBody等

      本文链接:https://www.haomeiwen.com/subject/kvxoactx.html