type
status
date
slug
summary
tags
category
icon
password
请求条件映射
@RequestMapping
- 匹配规则 — 按请求逻辑匹配
- 多值匹配 — 多值逻辑匹配
- 合并规则 — 方法和类型属性合并
- 排序规则 — 请求与多个条件匹配,对于匹配结果惊喜排序
路径匹配
default 匹配女所有请求
/ 匹配rootPath
path1 匹配/path1
path = {”/p1”, “p2”
请求方法
@GetMapping
@PosttMapping
@PatchMapping
@PutMapping
@DeleteMapping
请求参数
- HttpServletRequest获取
- @RequestMapping的params属性
- params 参数匹配判断 params = {“xxx=xxx”} | params = {“xxx=!xxx”}
- 直接通过入参列表取得requestParameter
请求头
- Request.getHeader()
- @RequestMapping
内容类型
Content-Type/Accept + MediaType
- @RequestMapping
- produces HTTP请求的Accept,可接收的返回类型
Accept=*/* - consumes HTTP请求的ContentType,可消费的类型
- Request.getContentType()
条件组合
org.springframework.web.servlet.mvc.method.RequestMappingInfo
- 多个结果匹配时按条件排序
HEAD属性匹配的情况下优先匹配method
其它情况
paths → params → headers → consumers → produces → method → custom
如果仅仅是paths一致,则springMvc会抛出冲突异常,代表两个Handler可以处理请求