在 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”。
然后很容易将拼写错误的标记为已弃用。
也可以通过这种方式在代码中加入适当的注释,方便日后维护/移除。
我正在使用 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”。 然后很容易将拼写错误的标记为已弃用。 也可以通过这种方式在代码中加入适当的注释,方便日后维护/移除。