我想使用Swagger发送API响应中的对象列表。
@ApiResponse(code = 200, message = ApiResponseMessages.ITEM_FETCHED,
response = "")
我有课-
class Item{
int id;
String item_name;
}
我想要一个回复-
{
{
"id" : 0,
"item_name" : ""
}
{
"id" : 0,
"item_name" : ""
}
{
"id" : 0,
"item_name" : ""
}
}
我该怎么做。任何帮助将不胜感激。
答案 0 :(得分:2)
对于新包:io.swagger.v3.oas.annotations.responses.ApiResponse
您需要这样做(使用 @ArraySchema
注释):
@ApiResponse(responseCode = "200", description = "",
content = {@Content(
mediaType = "application/json",
array = @ArraySchema(schema = @Schema(implementation = Bar.class))
)}
)
答案 1 :(得分:1)
您还可以像这样设置 ApiReponse :
{{1}}
它将返回:
{{1}}
答案 2 :(得分:1)
您可以如下使用 responseContainer =“列表” :
@ApiOperation(value = "retrieve items", response = Item.class, responseContainer = "List")
答案 3 :(得分:0)
只需将列表包装在一个这样的对象中:
public class ItemWrapper{
private List<Item> items;
}
然后将类ItemWrapper
作为API的响应:
@ApiResponse(code = 200, message = ApiResponseMessages.ITEM_FETCHED,
response = ItemWrapper.class)