【问题标题】:Spring 4: Multiple base path in one controllerSpring 4:一个控制器中的多个基本路径
【发布时间】:2022-01-22 03:41:26
【问题描述】:

我有一个关于 Spring 4 的问题。 我的控制器可以从 URL 访问,但我想要第二个 URL,其中只有开头不同以访问此控制器的相同端点。

这是我的控制器:

@RestController("MyController")
@RequestMapping(value={"/abc/def/ghi","/ijk/def/ghi"})
public class MyController {
// code continuation

但我收到此错误消息。

Multiple class level mappings defined on class com.MyController

我错过了什么吗? 谢谢。

编辑:正如 M. Dudek 所说,确实有必要升级 Hateoas。

【问题讨论】:

  • 正如 M. Dudek 提到的,尝试在 @RequestMapping 中使用 'value' 属性(而不是 'values')
  • 您在使用 Hateoas 吗?我发现issue 的错误信息完全相同。
  • 谢谢 M. Dudek,确实有必要升级 Hateoas!

标签: java spring rest model-view-controller controller


【解决方案1】:

@RequestMapping 有一个String[] value 参数(不是values),因此您应该能够像这样指定多个值:

@RequestMapping(value={"/abc/def/ghi"},{"/ijk/def/ghi"})

【讨论】:

  • 对不起,我弄错了,我刚刚更改了我的代码。我有 value 而不是 valuesjava {"/ abc / def / ghi", "/ ijk / def / ghi"} 而不是 java {"/ abc / def / ghi"}, {"/ ijk / def / ghi "}
【解决方案2】:

也许是这个?

@RestController("MyController")
@RequestMapping(value={"/abc/def/ghi","/ijk/def/ghi"})
public class MyController {
// code continuation

【讨论】:

  • 对不起,我弄错了,我刚刚更改了我的代码。我有 value 而不是 valuesjava {"/ abc / def / ghi", "/ ijk / def / ghi"} 而不是 java {"/ abc / def / ghi"}, {"/ ijk / def / ghi "}
猜你喜欢
  • 2018-11-04
  • 1970-01-01
  • 2012-04-14
  • 1970-01-01
  • 1970-01-01
  • 2016-10-01
  • 2012-08-08
  • 2023-03-27
  • 1970-01-01
相关资源
最近更新 更多