基于字符串字段的自定义注释的Springfox swagger模型替代

时间:2019-02-15 21:37:10

标签: java spring-boot swagger swagger-ui

我的应用程序模型中几乎没有类似于枚举类型的字符串属性,例如,性别表示为一个字符串,每个值都有一个特定的代码,用户可以根据任何内容发送代码或对该属性的描述可用。应用程序将使用自定义JSON解串器将其转换为代码。同样,在回馈模型的同时,使用自定义序列化程序将这些属性与代码和描述一起设置为json对象。我们面临的问题是swagger-ui将这些属性显示为常规字符串,而它们实际上是json对象。 所有这些类型的字段都带有自定义注释,以供序列化器和反序列化器使用。我正在寻找一种方法,可以根据注释或类似内容的存在在模型中添加模型替代。

我检查了docket.directModelSubstitute。但是,这将替换应用程序中的所有字符串属性。我们只需要带有注释的属性。 我还检查了ApiModelPpropery,但是我必须在我们使用此序列化程序的每个字段中重复此操作。

具有性别属性的人类样本

public class Person{

private String name;

@JsonSerialize(using = DomainSerializer.class)
@JsonDeserialize(using = DomainDeserializer.class)
@Domain(name = "PERSON_GENDER")

private String gender;

}

swagger-ui中的预期人物模型为     {     “ name”:“ string”,     “性别” : {          “ code”:“ string”,          “ description”:“ string”       }       }

swagger-ui中的当前模型是     {     “ name”:“ string”,     “ gender”:“ string”     }

0 个答案:

没有答案