Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Swagger注释将复杂特性表示为字符串_Java_Spring_Rest_Swagger - Fatal编程技术网

Java 使用Swagger注释将复杂特性表示为字符串

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”键的复杂类

在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"}