乐途乐途
主页
  • 计算机基础

    • TCP/IP协议
    • Linux命令
    • HTTP协议
  • 数据库

    • SQL
    • MySQL 5.7
  • 编程语言

    • C语言
    • Python2
    • Python3
  • 数据格式

    • JSON
    • XML
  • 认证与安全

    • JWT
  • 工具

    • Markdown
  • Git

    • GitFlow
  • Quartz

    • Quartz
  • Java

    • MyBatis
    • Spring
    • Spring MVC
    • Maven 入门
    • Maven 进阶
    • Java 设计模式
  • 缓存

    • Redis
联系
阿里云
主页
  • 计算机基础

    • TCP/IP协议
    • Linux命令
    • HTTP协议
  • 数据库

    • SQL
    • MySQL 5.7
  • 编程语言

    • C语言
    • Python2
    • Python3
  • 数据格式

    • JSON
    • XML
  • 认证与安全

    • JWT
  • 工具

    • Markdown
  • Git

    • GitFlow
  • Quartz

    • Quartz
  • Java

    • MyBatis
    • Spring
    • Spring MVC
    • Maven 入门
    • Maven 进阶
    • Java 设计模式
  • 缓存

    • Redis
联系
阿里云
  • 学习路径
  • 第1章 SpringMVC概述与DispatcherServlet

    • 本章导读:Spring MVC概述与DispatcherServlet
    • Spring MVC 是什么
    • MVC 设计模式
    • 前端控制器模式
    • DispatcherServlet
    • 核心组件协作
  • 第2章 控制器与请求映射

    • 本章导读:控制器与请求映射
    • Controller
    • RestController
    • RequestMapping
    • GetMapping
    • PostMapping
    • PutMapping
    • DeleteMapping
    • PathVariable
    • RESTful
    • 请求映射原理
  • 第3章 请求参数获取与转换

    • 本章导读:请求参数获取与转换
    • RequestParam
    • RequestBody
    • RequestHeader
    • CookieValue
    • Model
    • ModelAttribute
    • 数据绑定原理
    • 数据校验
  • 第4章 响应数据与视图解析

    • 本章导读:响应数据与视图解析
    • ResponseBody
    • ResponseEntity
    • ModelAndView
    • ViewResolver
    • HttpMessageConverter
    • forward与redirect
  • 第5章 拦截器过滤器与跨域

    • 本章导读:拦截器、过滤器与跨域
    • HandlerInterceptor
    • WebMvcConfigurer
    • CrossOrigin
    • 登录验证实战
  • 第6章 文件上传与异常处理

    • 本章导读:文件上传与异常处理
    • MultipartFile
    • 文件下载
    • ExceptionHandler
    • ControllerAdvice
    • RestControllerAdvice
    • ResponseStatus
  • 第7章 高级特性与最佳实践

    • 本章导读:高级特性与最佳实践
    • SessionAttributes
    • SessionAttribute
    • RedirectAttributes
    • MockMvc测试
    • 国际化
    • 最佳实践
  • 第8章 扩展与异步机制

    • 本章导读:扩展与异步机制
    • 异步请求处理
    • 自定义参数解析器
    • 内容协商

"黄俪,你设计的RESTful接口路径很规范,但小崔在实现时把GET和POST混用了。"大翔在Code Review时指出,"控制器和请求映射是前后端协作的契约,每一个注解背后都有明确的HTTP语义。小崔,这一章你必须把@RequestMapping家族吃透。"

——大翔,飞翔科技CTO

本章导读:控制器与请求映射

本章定位

本章解决的核心问题:如何在Spring MVC中定义控制器,以及如何将HTTP请求精确映射到控制器的方法上。

学习路线图

学习建议:先理解RESTful设计规范(为什么这样映射),再学习控制器定义和具体映射注解(怎么映射),最后通过PathVariable掌握动态路径提取,以"请求映射原理"收尾,知其然更知其所以然。

文件关系说明

文件一句话角色
RESTful.md设计规范先行:RESTful架构风格的核心原则,以及为什么Spring MVC是构建RESTful API的理想选择。
Controller.md传统控制器:@Controller的语义、返回视图名的经典用法,以及与@RestController的本质区别。
RestController.mdREST专用控制器:@RestController的组合注解本质,以及它在前后端分离项目中的标准地位。
RequestMapping.md映射总纲:@RequestMapping的完整配置(路径、方法、参数、头信息),所有派生注解的"父类"。
GetMapping.md查询语义:安全、幂等的GET请求映射,用于数据检索场景。
PostMapping.md创建语义:非幂等的POST请求映射,用于资源创建和复杂提交场景。
PutMapping.md更新语义:幂等的PUT请求映射,用于完整资源替换场景。
DeleteMapping.md删除语义:幂等的DELETE请求映射,用于资源删除场景。
PathVariable.md路径参数:从RESTful风格URL路径中提取动态变量,实现/users/{id}形式的优雅接口。
请求映射原理.md底层机制:Spring MVC如何在运行时建立请求与方法的映射关系,HandlerMapping的注册与匹配流程。

知识图谱

图谱解读:@RequestMapping及其派生注解在应用启动时被解析为RequestMappingInfo,注册到HandlerMapping中。当请求到达时,DispatcherServlet委托HandlerMapping根据URL、HTTP方法等条件匹配到目标方法。@Controller与@RestController决定了方法返回值的处理方式(视图渲染或直接序列化)。

与下一章的衔接

本章学完后,你已经掌握了"请求如何找到对应的方法"。下一章将解决"方法如何获取请求中的数据"——你将学习@RequestParam、@RequestBody、@ModelAttribute等参数绑定注解,理解数据绑定与校验机制,这是从"定义接口"到"处理业务输入"的必经之路。

下一页
Controller