Controller控制器层主要用到的注解几乎都是依赖于SpringMVC框架
我们在控制器层主要用到的注解有:
一般情况下写在类上的注解

注解 作用
@RequestMapping 你可以使用@RequestMapping注解来将请求URL映射到整个类上或某个特定的方法上,即@RequestMapping 既可以定义在类上,也可以定义方法上
@Controller @Controller用于标记在一个类上,声明此类为控制器,而且在此类中返回String类型的方法,都默认为返回前端页面的url路径,并且跳转到相应页面
@RestControoler @RestController同样用于标记在一个类上,声明此类为控制器,在此类中的所具有返回对象的方法则Controller中的方法无法返回jsp页面,或者html,配置的视图解析器 InternalResourceViewResolver不起作用,返回的内容就是return 里的内容

看一下我们是怎么用的
springboot controller中的@RequestMapping @Controller @RestController
springboot controller中的@RequestMapping @Controller @RestController
当我们访问此方法就要输入他们的联合路径(问号后面是参数)

springboot controller中的@RequestMapping @Controller @RestController
可以这么理解 @RequestMapping注解的value值就是路径,当我们在类上添加这个注解,访问此类的方法就要在前面先加上类的@RequestMapping路径,然后在加上这个方法的@RequestMapping路径。
@RestController和@Controller的区别就在于,一个认为返回的是数据,一个认为返回的是路径。

这个是@RestController的方法的返回
springboot controller中的@RequestMapping @Controller @RestController
这个是@Controller类中方法的返回
springboot controller中的@RequestMapping @Controller @RestController
springboot controller中的@RequestMapping @Controller @RestController
我们在浏览器中访问路径 localhost:8080/login
我们就来到了登录界面
springboot controller中的@RequestMapping @Controller @RestController
下面我就说说他们的使用场景

@RequestMapping

适用于我们控制器层的Controller类和类中的方法。

@Controller

如果你的项目没有采用前后端分离这种技术,那么@Controler注解就适用于此场景,因为我们需要把数据从后端传到前端,而我们的前端就在项目里面,@Controller注解可以让我们把数据带回到我们的前端。

@ResetController

如果我们的项目采用了前后端分离,前端使用ajax请求来调用我们后端的方法,我们只需要返回数据就可以了,此时就适用于@RestController。

总结

本人才学疏浅,本文中有不到之处欢迎指正。

相关文章:

  • 2021-09-26
  • 2022-12-23
  • 2022-12-23
  • 2022-02-14
  • 2021-08-19
  • 2021-12-21
  • 2021-08-01
  • 2021-08-04
猜你喜欢
  • 2021-09-07
  • 2021-11-26
  • 2022-03-07
  • 2022-02-19
  • 2021-05-10
  • 2022-12-23
相关资源
相似解决方案