Swagger自定义模型

时间:2016-02-08 16:28:01

标签: java swagger swagger-ui swagger-2.0

我使用swagger和spring boot为我的对象自动生成API文档。但是我使用@jsonAnyGetter @jsonAnySetter动态地将字段添加到我的json响应中。如

public class SomeResponse {

    //Standard part picked up by swagger
    public String field1;
    public String field2;

    //Dynamic Part not picked up by Swagger
    private HashMap dynamicFields = new HashMap();

    @JsonAnySetter
    public final void putDynamicField(String key, Object value){
        dynamicFields.put(key, value);
    }

    @JsonAnyGetter
    public final HashMap getDynamicFields(){
        return dynamicFields;
    }
}

产地:

{
   "field1":""
   "field2":""
}

注意当动态字段出现时杰克逊的魔力使它们在field1 / 2处出现在同一级别时。不管怎样,Swagger并没有把它们拿起来,因为它们出现在运行时显而易见

有谁能告诉我如何更新生成的Swagger模型或模型架构描述以添加我自己命名的各种自定义字段描述?类似的东西:

{
   "field1":""
   "field2":""

   "dynamicField1": {}
   "dynamicFieldN": {}

}

1 个答案:

答案 0 :(得分:1)

Swagger不支持@JsonAnySetterGit-2.7.1-64-bit.exe。您必须具有具体的模型定义,或配置自定义模型转换器以向模型添加运行时字段。