Springboot中的Controller解析
Controller
1、作用
Controller是SpringBoot的基本组件,也是MVC结构的组成部分,其作用是将用户提交来的请求通过URL匹配,分发给不同的接收器(具体的Controller),该接收器会对其进行相应处理,然后返回处理结果。
2、基本样式
一个经典的Controller类似下边这样:
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping(value = "/api/user")
public class IndexController {
@RequestMapping(value = {"index", "/"})
public String index(Model model) {
return "index";
}
}3、说明
| @Controller | 写于Controller类之前; 告知Spring容器这是一个Controller。 |
| @RequestMapping | 写于Controller类或Controller类中的某个方法之前; 表示这个类/方法负责处理哪个URL |
| Model model | 处理URL的方法需要传入Model参数; 该参数的作用是向Model传递数据; Model将来会传递给View显示出来。 |
return "index" return "/registerResult" | 函数返回值,表示要访问的文件名。 具体后缀取决于模板引擎,比如对于jsp就需要访问"index.jsp"文件 |
4、@RequestMapping作用
告诉Spring该方法或类是用于映射到哪个URL的,通常情况下可以添加如下信息:
@RequestMapping(
value = "/test",
params = {"name","userId"},
method = {RequestMethod.GET},
consumes = {"text/plain", "application/*"},
produces = "text/plain",
headers = "content-type=text/*"
)分别表示
- value:路径,类似"/action/info"这种;
- params:参数;
- method:请求方法——GET、POST、PUT……;
- consumes:request请求提交的内容类型(Content-Type);
- produces:返回内容的类型;
- headers:Header等。
通常只需要value,有时可能会用到method表示请求方法,默认是RequestMethod.GET,有时可能是RequestMethod.POST
当注解作用于类时,类中所有方法都会在这个基础上再进行过滤。例如:
@Controller
@RequestMapping("/path1")
public class TestController {
@RequestMapping("/path2")
@ResponseBody
public String index() {
return "ok";
}
}这个函数就会匹配"/path1/path2"这个地址
到此这篇关于Springboot中的Controller解析的文章就介绍到这了,更多相关Springboot的Controller内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
springboot访问template下的html页面的实现配置
这篇文章主要介绍了springboot访问template下的html页面的实现配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-12-12
Spring Cloud Hystrix 服务降级限流策略详解
这篇文章主要为大家介绍了Spring Cloud Hystrix 服务降级限流策略详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-01-01
SpringBoot将所有依赖(包括本地jar包)打包到项目
这篇文章主要介绍了SpringBoot将所有依赖(包括本地jar包)打包到项目,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-06-06


最新评论