在 spring boot 中定义 delete 请求,需要在 controller 方法上使用 @deletemapping 注解,或者使用 @requestmapping(method = requestmethod.delete)。通常建议结合 @pathvariable 或 @requestparam 来接收要删除的资源 id。这样配置后,当客户端发送 delete 请求时,spring mvc 会自动将请求路由到对应的方法,并执行删除逻辑。

如何根据路径变量获取待删除资源的 ID
通过 @PathVariable 注解可以从 URL 路径中提取参数。例如,若接口地址为 /api/users/{id},则需在方法参数前添加该注解以绑定路径中的 id 值。这种方式适用于 RESTful 风格的设计,资源定位清晰。

import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/users")
public class UserController {
@DeleteMapping("/{id}")
public String deleteUser(@PathVariable Long id) {
// 模拟删除操作
System.out.println("Deleting user with id: " + id);
return "User deleted successfully";
}
}
如何处理查询参数形式的删除请求
如果希望使用查询参数传递删除标识,可以使用 @RequestParam 注解。例如,请求 /api/users?userId=10 时,方法参数需标注 @RequestParam("userId")。这种方式常用于非标准 RESTful 场景或兼容旧版 API 设计。

import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/users")
public class UserController {
@DeleteMapping
public String deleteUserByParam(@RequestParam("userId") Long userId) {
// 模拟删除操作
System.out.println("Deleting user with param userId: " + userId);
return "User deleted successfully";
}
}
DELETE 请求返回什么状态码表示成功
按照 HTTP 规范,成功的 DELETE 请求应返回 200 OK(若返回内容)或 204 No Content(若无返回内容)。在 Spring Boot 中,若方法返回 void 或 null,默认可能返回 200;若显式返回 ResponseEntity.noContent().build(),则返回 204。这有助于客户端判断资源是否真正被移除。











