gpt4 book ai didi

java - 如何在Spring中根据不同类型的路径变量删除DeleteMapping?

转载 作者:行者123 更新时间:2023-12-01 14:31:48 25 4
gpt4 key购买 nike

我正在尝试在 Spring 中构建一个 REST 应用程序,我需要根据某些路径变量删除资源。
例如,我想通过 id 删除资源

@DeleteMapping("resources/{id}")
或按名称
@DeleteMapping("resources/{name}")
但是当我执行上述操作时,出现错误
java.lang.IllegalStateException: Ambiguous handler methods
据我了解,Servlet 无法判断 123在路径中 /resources/123代表一个 ID 或一个名字,因此有歧义。
那么我应该如何设计我的 REST 端点,其中 DELETE 基于某个参数或参数的组合发生?

最佳答案

id 删除使用路径变量映射很好

@DeleteMapping("resources/{id}")
name 删除您可以将名称作为查询参数
@DeleteMapping("resources")
public ResponseEntity<?> delete(@RequestParam(value = "name") String name) {
或者你可以同时服用 idname如果您想在 Controller 中的一种方法中映射这两个操作,则作为查询参数。

关于java - 如何在Spring中根据不同类型的路径变量删除DeleteMapping?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62853266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com