SpringMVC 入门
代码实践:jLab-3-SpringMVC
1. 概述
使用SpringMVC所需要了解的相关信息。
2. 注解
2.1 @Controller
添加在类上,表示这是控制器 Controller;控制器负责接收请求、处理请求,并返回响应。
特性:
自动映射 URL。@Controller 注解可以自动将请求映射到控制器的方法上。
支持视图解析。@Controller 注解可以将方法的返回值解析为视图,并渲染到客户端。
2.2 @RestController
添加在类上,是 @Controller 和 @ResponseBody 的组合注解。
直接使用接口方法的返回结果,经过 JSON/XML 等序列化方式,最终返回(无需使用 InternalResourceViewResolver 解析视图,返回 HTML 结果)。
注:目前主流架构都是前后端分离,后端只需提供API返回数据,因此,多数情况都是使用@RestController 注解
2.3 @RequestMapping
添加在类或方法上,标记该类/方法对应接口的配置信息。
属性:
path/value:接口路径,类型为数组 [ ],可以填写多个接口路径method:请求方法,类型为数组 [ ],可以填写多个请求方法(GET、POST、PUT、DELETE)。如果为空,则匹配所有请求方法。headers属性:请求头。consumes属性:请求头的提交内容类型( Content-Type )produces属性:请求头的( Accept )可接受类型。
2.4 @GetMapping、@PostMapping、@PutMapping、@DeleteMapping
@GetMapping注解:对应@GET请求方法的@RequestMapping注解。
@PostMapping注解:对应@POST请求方法的@RequestMapping注解。@PutMapping注解:对应@PUT请求方法的@RequestMapping注解。@DeleteMapping注解:对应@DELETE请求方法的@RequestMapping注解。
2.5 @RequestParam
添加在方法参数上,标记该方法参数对应的请求参数的信息。
属性:
name/value:对应的请求参数名。如果为空,则直接使用方法上的参数变量名。
required属性:参数是否必须传。默认为true,表示必传。defaultValue属性:参数默认值。
2.6 @PathVariable
添加在方法参数上,标记接口路径和方法参数的映射关系。
相比 @RequestParam 注解,少一个 defaultValue属性。