You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现@DELETE方法?附相关API路径示例

实现@DELETE方法的正确方式

根据你给出的API路径示例https://..../v1/trails/245,当前的@DELETE("v1/trails/")缺少路径参数的占位配置,下面分两种常用框架说明正确实现方式:

Spring Boot(Spring MVC)场景

  1. 调整@DeleteMapping(或@DELETE)的路径,添加上路径参数占位符{trailId}
  2. 通过@PathVariable注解将URL中的ID绑定到方法参数

示例代码:

@RestController
@RequestMapping("/v1")
public class TrailController {
    // 用@DeleteMapping组合注解,等价于@RequestMapping(method = RequestMethod.DELETE)
    @DeleteMapping("/trails/{trailId}")
    public ResponseEntity<Void> deleteTrail(@PathVariable("trailId") Long trailId) {
        // 执行删除逻辑:比如调用业务层删除ID为trailId的trail记录
        // 示例:trailService.deleteById(trailId);
        return ResponseEntity.noContent().build(); // 返回204状态码表示删除成功无内容
    }
}

当请求https://..../v1/trails/245时,trailId参数会自动被赋值为245。

Retrofit场景

如果是用Retrofit调用外部API,需要做如下调整:

  1. 修改@DELETE注解的路径,添加{trailId}占位符
  2. 用@Path注解绑定方法参数到路径占位符

示例代码:

public interface TrailApi {
    @DELETE("v1/trails/{trailId}")
    Call<Void> deleteTrail(@Path("trailId") Long trailId);
}

调用时传入ID即可生成正确URL:

// 初始化TrailApi实例后调用
trailApi.deleteTrail(245);

此时会自动拼接出目标URL https://..../v1/trails/245。

注意事项

  • 路径占位符的名称必须和参数注解中的名称一致,确保参数能正确绑定
  • RESTful风格中,DELETE方法用于删除指定资源,路径必须包含资源的唯一标识(如这里的trail ID)
  • 成功删除后通常返回204 No Content状态码,符合REST规范

内容的提问来源于stack exchange,提问作者moslem Jamshidpour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 18:35:23