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
属性。