五个关键点是:一、资源为中心,URL用复数名词如/users,禁用动词;二、HTTP方法语义明确:GET查、POST创建、PUT全量更新、PATCH部分更新、DELETE删除;三、核心注解分工清晰:@RestController标识控制器,@GetMapping等绑定方法,@PathVariable取路径参数,@RequestParam取查询参数,@RequestBody接收JSON;四、统一响应结构(code/message/data)与准确HTTP状态码(200/201/204/400/401/403/404/500);五、全局异常用@ControllerAdvice+@ExceptionHandler统一处理,禁止暴露堆栈。

直接抓住五个关键点,就能系统、高效地复习 Spring Boot 中的 REST 接口核心内容,不走弯路。
一、吃透资源与 URL 设计逻辑
REST 的本质是「资源为中心」,不是「功能为中心」。复习时重点区分:
- URL 只用名词,不用动词:/users ✅,/getUsers ❌;/orders/123 ✅,/order/findById?id=123 ❌
- 复数形式表集合:/products 而非 /product
- 层级表达从属关系:/users/123/posts 表示用户 123 的所有文章
- 查询参数用于过滤/分页:/users?status=active&page=1&size=20,不塞进路径
二、牢记 HTTP 方法语义与对应操作
每个方法代表一种明确的资源操作意图,不能混用:
- GET:只读,幂等,用于获取(/users 或 /users/{id})
- POST:创建新资源,返回 201 Created,Location 头带新地址
- PUT:全量替换,客户端需提交完整资源数据,幂等
- PATCH:部分更新,只传变更字段,更安全灵活
- DELETE:删除指定资源,成功返回 204 No Content
三、熟练掌握核心注解及其分工
Spring Boot 的 REST 开发围绕几个关键注解展开,复习要理解「谁干啥、在哪儿用」:
- @RestController:类级别,表示这是纯数据接口控制器(自动加 @ResponseBody)
- @GetMapping/@PostMapping/@PutMapping/@DeleteMapping:方法级,精准绑定 HTTP 方法和路径,比 @RequestMapping 更清晰
- @PathVariable:取路径中占位符值,如 /users/{id} → id = 1001
- @RequestParam:取查询参数(?name=Tom&age=25),支持默认值和必填控制
- @RequestBody:接收 JSON 请求体,自动反序列化为 Java 对象(需有无参构造+getter/setter)
四、统一响应结构与状态码规范
接口好不好用,一半看返回是否一致。复习时注意:
- 无论成功或失败,都返回统一 JSON 结构,例如:{ "code": 200, "message": "OK", "data": {...} }
- HTTP 状态码必须准确:200(查成功)、201(创成功)、204(删成功)、400(参数错)、401(未登录)、403(无权限)、404(资源不存在)、500(服务异常)
- 避免在 body 里用 code=500 模拟 500 错误——该用 HTTP 状态码就用状态码
- 异常统一用 @ControllerAdvice + @ExceptionHandler 处理,不让原始异常堆栈暴露给前端


















