之前碰到了这个bug,只要我不在controller类里加上这两个注解,就找不到这个接口(这边controller和别的地方貌似不太一样= v =。。。)
1.@RestController
@RestController = @Controller + @ResponseBody
类 + @Controller = 这个类是一个控制器类,成为处理器类的第一步
@Controller:控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定义URL 请求和Controller 方法之间的映射,这样的Controller 就能被外界访问到。此外Controller 不会直接依赖于HttpServletRequest 和HttpServletResponse 等HttpServlet 对象,它们可以通过Controller 的方法参数灵活的获取到。
类 + @RequestMapping = 成为处理器类的第二步
@RequestMapping:用来映射请求的,指明处理器可以处理那些url请求,该注解可以用在类上也能用在方法上。当使用@RequestMapping注解的时候,方法的请求地址是相对于类的请求地址而言,没用@RequestMaping标记类的时候,方法的请求地址是绝对路径。
有点兴趣但是现在我妹时间,看完再做笔记吧,存个档
到这里处理器处理完任务之后就会跳转到这个@RequestMapping路径下的页面
类 + @ResponseBody注解 = 成为类处理器的第三步
@ResponseBody:把方法的返回值以指定的格式写入http response body中,而不是解析为跳转路径。
格式转换是通过HttpMessageConverter中的方法实现的,这是一个接口,靠这个实现类完成转换
如果要求方法返回的是json格式数据,而不是跳转页面,可以直接在类上标注@RestController,而不用在每个方法中标注@ResponseBody,简化了开发过程。
https://www.cnblogs.com/xiepeixing/p/4243288.htmls
散会
大佬在这里
(29条消息) SpringMVC中Controller常用注解的理解_墓亦龍的博客-CSDN博客_controller注解的作用