好的,这是一个艰难的。
基本上,如果你真的想返回一个对象列表或一个对象,那么你可以创建一个像这样的基本接口
public interface Response {
}
然后你可以创建你的对象,它实现了响应
public class Hello implements Response {
private String message;
public Hello(String message) {
this.message = message;
}
public String getMessage() {
return this.message;
}
}
最后我们可以创建我们的对象列表。为此,我们需要创建一个类,它扩展 ArrayList 并实现我们的接口
public class HelloList extends ArrayList<Hello> implements Response {
}
之后我们可以将我们的模式设置为实现
@ApiResponse(responseCode = "200", description = "hello world", content = @Content(mediaType = "application/json", schema = @Schema(implementation = Response.class)))
在客户端,您需要检查响应对象的实例,以便您可以解析对象或列表
Response response = someCall();
if (response instanceof Hello) {
System.out.println(processHello((Hello) response);
}
if (response instanceof HelloList) {
System.out.println(processHelloList((HelloList) response);
}
这个例子有效,但它非常复杂且令人困惑。设计 api 的更好方法是只返回列表。我没有看到分离一个对象或它的列表的好处。