Spring mysql 网络接口( HTTP 方法与增删改查, Spring MVC Controller 接收参数的常用注解与参数传递方式)

前言

最近在看接口文档, 和写项目的增删改查时, 老是搞不清楚HTTP 方法、参数传递方式 以及 Spring MVC Controller 层接收参数的常用注解之间的关系( 只是我经常看见的总结一下, 不一定对, 也很不完整哈 ).

目录

    • 前言
    • [一、**HTTP 方法与增删改查**( RESTful风格常用规范 )](#一、HTTP 方法与增删改查( RESTful风格常用规范 ))
    • [二 HTTP 方法与参数传递方式( 只是我经常碰见的我自己总结的 )](#二 HTTP 方法与参数传递方式( 只是我经常碰见的我自己总结的 ))
    • [三 Spring MVC Controller 接收参数的常用注解与参数传递方式](#三 Spring MVC Controller 接收参数的常用注解与参数传递方式)
      • [1. @RequestParam ------ 接收 URL查询参数(URL后面带?key1=value1&key2=value2)](#1. @RequestParam —— 接收 URL查询参数(URL后面带?key1=value1&key2=value2))
      • [2. @PathVariable ------ 接收 URL 路径中的变量](#2. @PathVariable —— 接收 URL 路径中的变量)
      • [3. @RequestBody ------ 接收 请求体中的 JSON/XML 数据](#3. @RequestBody —— 接收 请求体中的 JSON/XML 数据)

一、HTTP 方法与增删改查( RESTful风格常用规范 )

记个口诀就好大概是这样: 增加用POST, 删除用DELETE, 修改用PUT, 查询用GET

二 HTTP 方法与参数传递方式( 只是我经常碰见的我自己总结的 )

HTTP 方法 典型用途 参数传递位置 是否有请求体(Body)
POST 新增数据 请求体(Body)(JSON / Form 表单) ✅ 有
DELETE 删除数据 URL 路径参数 或 查询参数 ❌ 通常无
PUT 更新数据 请求体(Body ✅ 有
GET 查询数据 URL查询参数(后面带?key1=value1&key2=value2) 或者路径参数 (/user/{id}) ❌ 一般没有(即使有也不被推荐/支持)

三 Spring MVC Controller 接收参数的常用注解与参数传递方式

1. @RequestParam ------ 接收 URL查询参数(URL后面带?key1=value1&key2=value2)

  • 适用场景:GET 查询参数、POST 表单(application/x-www-form-urlencoded)
  • 参数来源:URL 中的 ?name=Tom 或 表单字段
java 复制代码
@GetMapping("/search")
public String search(@RequestParam String keyword, 
                     @RequestParam(defaultValue = "1") int page) {
    // 请求: /search?keyword=Java&page=2
}

2. @PathVariable ------ 接收 URL 路径中的变量

  • 适用场景:RESTful 风格的路径参数
  • 参数来源:URL 路径中的 {xxx} 占位符
java 复制代码
@GetMapping("/user/{id}")
public User getUser(@PathVariable Long id) {
    // 请求: /user/123 → id = 123
}

// 多个路径变量
@GetMapping("/dept/{deptId}/user/{userId}")
public User getUserInDept(@PathVariable("deptId") Long did,
                          @PathVariable("userId") Long uid) { ... }

3. @RequestBody ------ 接收 请求体中的 JSON/XML 数据

  • 适用场景:前端发送 JSON(如 Axios、Fetch)
  • 参数来源:HTTP 请求体(Body)
  • 仅用于 POST/PUT/PATCH
java 复制代码
@PostMapping("/user")
public Result save(@RequestBody UserDTO userDTO) {
    // 前端发送 JSON:
    // { "name": "Alice", "email": "alice@example.com" }
}

小白啊!!!写的不好轻喷啊🤯如果觉得写的不好,点个赞吧🤪(批评是我写作的动力)

...。。。。。。。。。。。...

...。。。。。。。。。。。...

相关推荐
DIY源码阁1 小时前
JavaSwing航班订票管理系统 - MySQL版
数据库·mysql
IT空门:门主2 小时前
Spring 注入三剑客:@Resource、@Autowired、@RequiredArgsConstructor 到底该用哪个?
java·后端·spring
南部余额3 小时前
Spring WebClient 从入门到精通
java·后端·spring
摇滚侠3 小时前
Spring 零基础入门到进阶 基于注解管理 Bean 38-43
xml·java·后端·spring·intellij-idea
流星白龙4 小时前
【MySQL高阶】26.事务(1)
数据库·mysql
云烟成雨TD4 小时前
Spring AI 1.x 系列【47】 MCP Annotations 模块
java·人工智能·spring
这个DBA有点耶5 小时前
索引优化深潜(下):索引合并、ICP 与索引设计的实战法则
数据库·mysql·架构
用户3074596982075 小时前
EXPLAIN 执行计划 完全精通指南
mysql
Flittly6 小时前
【AgentScope Java新手村系列】(3)工具系统
java·spring boot·spring
AI行业学习6 小时前
CC-Switch v3.16.1 官方下载 | 安装配置详细教程【2026.6.10】
java·开发语言·vue.js·python·mysql·eclipse·html