Spring boot springdoc openapi如何将字符串数组显示为响应
关于如何使用springdocs openapi库(1.5.7)获得以下输出,web上没有很好的例子。我希望获得以下输出:Spring boot springdoc openapi如何将字符串数组显示为响应,spring-boot,springdoc,springdoc-openapi-ui,springdoc-openui,springdoc-ui,Spring Boot,Springdoc,Springdoc Openapi Ui,Springdoc Openui,Springdoc Ui,关于如何使用springdocs openapi库(1.5.7)获得以下输出,web上没有很好的例子。我希望获得以下输出: [ "A", "B", "C" ] 这是基于所提供示例的代码 @Operation(summary = "") @ApiResponses(value = { @ApiResponse(responseCode = "200", desc
[
"A", "B", "C"
]
这是基于所提供示例的代码
@Operation(summary = "")
@ApiResponses(value = {
@ApiResponse(responseCode = "200", description = "OK",
content = {@Content(mediaType = "application/json",
array = @ArraySchema(schema = @Schema(implementation = String.class)),
examples = {@ExampleObject("A"), @ExampleObject("B"), @ExampleObject("C")}
)})
这将产生以下输出
[
"string"
]
如何通过springdocs openapi库实现上面列出的输出[“A”、“B”、“C”]?您错误地使用了
@ExampleObject
。value
属性(如果不指定任何内容,也是默认属性)接受示例负载的JSON序列化对象
因此,要获得[“A”,“B”]
,您不需要多个@ExampleObject
,而是需要一个示例的注释
因此,如下所示更新代码应该是有帮助的
@操作(summary=“Some method”)
@ApiResponses(值={
@ApiResponse(responseCode=“200”,description=“确定”,内容={
@内容(
mediaType=mediaType.APPLICATION\u JSON\u值,
array=@ArraySchema(schema=@schema(implementation=String.class)),
示例={
@示例对象(“[\'A\',\'B\']”)
}
)
})
})
下面显示的是上述代码的输出
要指定多个示例,应该有多个示例对象,如下所示
@操作(summary=“Some method”)
@ApiResponses(值={
@ApiResponse(responseCode=“200”,description=“确定”,内容={
@内容(
mediaType=mediaType.APPLICATION\u JSON\u值,
array=@ArraySchema(schema=@schema(implementation=String.class)),
示例={
@ExampleObject(name=“Example 1”,summary=“summary 1”,description=“Some desc”,value=“[\“A\”,\“B\”]),
@ExampleObject(name=“Example 2”,summary=“summary 2”,description=“Some desc”,value=“[\“C\”,\“D\”]))
}
)
})
})
注意:@ExampleObject
的名称
属性用于在规范文件内部识别示例
“响应”:{
"200": {
“说明”:“确定”,
“内容”:{
“应用程序/json”:{
“模式”:{
“类型”:“数组”,
“项目”:{
“类型”:“字符串”
}
},
“例子”:{
“例1”:{
“摘要”:“摘要1”,
“描述”:“一些描述”,
“价值”:[
“A”,
“B”
]
},
“例2”:{
“摘要”:“摘要2”,
“描述”:“一些描述”,
“价值”:[
“C”,
“D”
]
}
}
}
}
}
}
输出如下图所示
谢谢!我忽略了一个细节,如果其他人遇到这个问题,我希望它能帮助他们。