2017-02-08 32 views
0

在审查的一段代码我遇到了一个严重注释功能,其中包括沿着我怎样才能让扬鞭读取用SpringMVC注释

@ApiParam(value = "order number", required = false) @RequestParam(value = "order", required = true)

required = falserequires = true看起来非常可疑的东西线,它可能一个错误。注释中的重复是导致此类错误的一个明显原因。为什么Swagger不能简单地阅读@RequestParam注释,使@ApiParam注释过时,或者至少是可选的?

我该如何优雅地做这件事?

回答

1

您是否正在使用最新的spring-fox?按照Docs,你只需要使用时行为/模式不能从MVC /杰克逊注释中提取的@ApiXX

1.2。目标

在哲学上,我们希望阻止在运行时对服务描述不重要的使用(swagger-core)注释。对于例如jackson注释应该总是胜过或比@ApiModelProperty更重,或者例如@NotNull或指定@ RequestParam#所需的应该总是赢得。注释仅用于补充文档,或者在无法推断服务/模式特征的情况下覆盖/调整结果规范。

因此,即使@ApiParam指定required冲突值,生成的API-docs的由springfox将使用@RequestParam值。