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

时间:2018-02-06 10:21:39

标签: spring-rest springfox

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

@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方法和其他许多功能的功能,但似乎不是路径。

我能在这做什么吗?

(我甚至不能将旧方法标记为"已弃用"在文档中,因为文档来自方法注释,它在两个路径之间共享。)

1 个答案:

答案 0 :(得分:0)

我建议只创建一个新的单独方法,一个用拼写错误的RequestMapping“/ my-methd”,一个用于正确的一个“/ my-method”。 然后很容易将拼写错误的标记为已弃用。 此外,您可以在代码中添加适当的注释,以便将来更容易维护/删除。