在 Springfox Swagger 中覆盖我的 API 的路径

Override the path of my API in Springfox Swagger

我正在使用 Spring REST 和 Springfox Swagger,我有一个方法,例如

@RequestMapping(method = RequestMethod.POST, value = "/my-methd")
@ApiOperation(value = "My method")

一切正常。

现在我注意到路径中有一个拼写错误。我已经有客户使用现有的 API,所以我想同时支持旧版本和新版本,但文档中只显示新版本。

我可以更正如下:

@RequestMapping(method = RequestMethod.POST, value = {
   "/my-methd",  // Spelling mistake, deprecated
   "/my-method"  // To be used by new software
})
@ApiOperation(value = "My method")

但是,新旧拼写 都出现在 Swagger 文档中。

我希望两者都有效,但是 只有新的拼写 会出现在 Swagger 文档中。

@ApiOperation 可以覆盖 HTTP 方法和许多其他东西,但似乎不是路径。

这里有什么我可以做的吗?

(我什至无法在文档中将旧方法标记为 "deprecated",因为文档来自两个路径之间共享的方法注释。)

我建议只创建一个新的单独方法,一个是拼写错误的 RequestMapping“/my-methd”,另一个是正确的“/my-method”。 然后很容易将拼写错误的标记为已弃用。 也可以通过这种方式在代码中加入适当的注释,方便日后维护/移除。