Java 使用Swagger注释将复杂特性表示为字符串
在Java/SpringREST应用程序中,我使用的是swagger注释1.3.7,我有许多小类(例如,GenderCode)在ReST模型中用作属性。这些类有一个公共属性,称为value。使用Jackson,我的API可以接受一个简单的字符串s,并构造一个值设置为s的GenderCode实例。类似地,它可以将性别代码序列化为一个简单的字符串(当然,它表示value的值) 我希望我的Swagger文档将这些对象表示为简单的字符串,因为这表示JSON的外观。相反,它表示具有“value”键的复杂类型: 它应该简单地如下所示:Java 使用Swagger注释将复杂特性表示为字符串,java,spring,rest,swagger,Java,Spring,Rest,Swagger,在Java/SpringREST应用程序中,我使用的是swagger注释1.3.7,我有许多小类(例如,GenderCode)在ReST模型中用作属性。这些类有一个公共属性,称为value。使用Jackson,我的API可以接受一个简单的字符串s,并构造一个值设置为s的GenderCode实例。类似地,它可以将性别代码序列化为一个简单的字符串(当然,它表示value的值) 我希望我的Swagger文档将这些对象表示为简单的字符串,因为这表示JSON的外观。相反,它表示具有“value”键的复杂类
{
"genderCode": "",
...
}
以下是Java模型的外观:
public class Person {
@JsonProperty("genderCode")
@Valid
@KnownEnumValue
@ApiModelProperty(value = "GenderCode", dataType="string", required = false,
allowableValues=GenderCode.POSSIBLE_VALUES_DISPLAY)
private GenderCode genderCode;
...
}
以下是Swagger生成的API定义文件中该属性的定义:
"genderCode":{"enum":["ANY","M","F"],"description":"GenderCode","required":false,"type":"GenderCode"}
我尝试过使用OverrideConverter,但没有效果。关于如何做到这一点有什么想法吗
"genderCode":{"enum":["ANY","M","F"],"description":"GenderCode","required":false,"type":"GenderCode"}