swagger-jaxrs @ApiModelProperty AllowableValues是否适用于"范围[x,y]"?

时间:2015-01-09 21:09:45

标签: jax-rs swagger

我无法获得以下结果:

@ApiModelProperty(allowableValues = "range[0,8]", required = true)
private String myfield;

这有效:

@ApiModelProperty(allowableValues = "Email, Post", required = true)
private String multiValField;

并生成(在UI中):

multiValField(string) = ['Email' or ' Post']

我可能误读了文档,这是来自ApiModelProperty中的javadoc:

  

要设置值范围,请使用“范围”启动值,然后选择   方括号括起来包括最小值和最大值。   例如:范围[1,5]。要设置最小/最大值,请使用   范围的格式相同,但使用“infinity”或“-infinity”作为   第二个价值。例如,范围[1,无穷大]表示   此参数的最小允许值为1.

我找不到任何人这样做的例子,虽然看起来很常见。我确实在modules / swagger-jaxrs / src / test / scala / testresources / ResourceWithReturnTypes.java中找到了这个@ApiParam,但我无法在我的GET端点上工作。

@ApiParam(value = "sample param data", required = true, 
allowableValues = "range[0,10]")
@DefaultValue("1") @QueryParam("id") String id) {

有没有人有这个版本吗?

1 个答案:

答案 0 :(得分:1)

swagger-core项目中包含一组样本。 range@ApiParam都展示了@ApiModelProperty的使用情况。

@ApiModelProperty可以在这里看到 - https://github.com/swagger-api/swagger-core/blob/master/samples/scala-oauth-authorization-server/src/main/scala/com/wordnik/swagger/sample/model/Pet.scala#L30

@ApiParam可以在这里看到 - https://github.com/swagger-api/swagger-core/blob/master/samples/java-jaxrs/src/main/java/com/wordnik/swagger/sample/resource/PetStoreResource.java#L42

所有示例都包含有关如何在本地运行它们的简单详细信息,并按预期输出minimummaximum值。