Springboot中的Controller解析
作者:ShineLee
这篇文章主要介绍了Springboot中的Controller解析,Controller是SpringBoot的基本组件,也是MVC结构的组成部分,其作用是将用户提交来的请求通过URL匹配,分发给不同的接收器,该接收器会对其进行相应处理,然后返回处理结果,需要的朋友可以参考下
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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!