我使用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": {} }
答案 0 :(得分:1)
Swagger不支持@JsonAnySetter
和Git-2.7.1-64-bit.exe
。您必须具有具体的模型定义,或配置自定义模型转换器以向模型添加运行时字段。