前后端接口,主要分:GET查、POST增、PUT改、DELETE删;
除了空参,常见的参数传递方式也分为:查询字符串query、url路径、请求体data三种方式;
三种请求参数的使用方法
- 查询字符串query

2.url路径

3.请求体data

这三种参数占位风格,跟 HTTP Method 的常规用法一一对应;
-
query (
?id=123)默认 Method:GET
偶尔:HEAD、OPTION(也带查询串)
原因:GET 语义是"只读",无 body,所有筛选条件只能放 URL。
-
data (body 里的 JSON)
默认 Method:POST / PUT / PATCH
偶尔:DELETE(少数系统把删除理由放 body)
原因:写入/更新需要 payload,必须走 body。
-
+id (
/user/123)默认 Method:全部都可以------
-
GET
/user/123查单个 -
PUT
/user/123全量更新 -
PATCH
/user/123部分更新 -
DELETE
/user/123删除原因:路径只是资源定位,与动作无关;任何动词都能定位同一资源。
-
速记口诀
"query 只能 GET,data 必带 body,+id 任意动词都能用。"
Spring MVC 的收参注解
| 参数出现位置 | 注解 | 常见写法 | 示例 URL | 备注 |
|---|---|---|---|---|
url路径片段 /user/{id} |
@PathVariable |
@PathVariable Long id |
/user/123 |
必填,URL 里必须有对应占位符 |
查询字符串 ?key=value |
@RequestParam |
@RequestParam(required=false) String key |
/user?name=Tom |
可选、可设默认值 |
| 请求体 JSON | @RequestBody |
@RequestBody UserDTO dto |
POST /user + body |
只能用于 POST/PUT/PATCH 等有 body 的方法 |