提问者:小点点

如何为Swagger留档设置dataType为String


我正在使用glassfish 4.1.1,并使用swagger 1.6.6库集成了SwaggerAPI留档。

我有一个基类,看起来像这样:

@ApiModel(value = "long")
public abstract class MyBaseClass {
    ...
   private long value;
   
  @JsonValue
   public long getValue() {
      return value;
   }       

   public long getMaxValue(){
        return 999999999;
   }
   public long getMinValue(){
        return 999999999;
   }  
}

我也有继承这个基类的类,看起来像这样:

  public class MyClass extends MyBaseClass {
    ......
     public MyClass(long value) {
         ....
     }
     public static MyClass Empty = new MyClass();
  }

我希望结果是这样的:

{
 MyClass: "String"
}

但我得到了以下结果:

 "MyClass": {
    "minValue": 0,
    "maxValue": 0,
    "empty": true
  }

我已经尝试将@ApiModelProperty注释放在字段和方法上,在这两种情况下,所需字段都得到尊重,但dataType字段被忽略。我还尝试使用“String”、“string”和“java. lang.String”作为dataType,但都不起作用。我读了一篇类似的文章如何将@ApiModelProperty dataType设置为Swagger留档的字符串,但它使用springfox和(Swagger 3.0)。我正在使用swagger 1.6.6

请告诉我在哪里可以配置哪个属性来获取所需的结果?


共1个答案

匿名用户

可能对某人有用。最后,在我使用这种类型的类中,我将@ApiModelProperty(dataType="string")解剖结构放在了各处,

MyApiClass{

  @ApiModelProperty(dataType="string")
  public MyClass var;

}

结果开始看起来应该是:

{
 MyClass: "String"
}

但这并不是我所需要的。我正在寻找一种解决方案,在使用这种类型时,我不必将@ApiModelProperty(dataType="string")放在任何地方。