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可以处理请求