是否有通过适当的实现来纠正将泛型用作响应子字段的Map方法响应的方法?示例:
假设我有一个通用的响应类:
public class Response {
private String createdOn;
//other fields
private Map<String, Object> values;
private Model object;
//getters and setters
}
通用模型类:
public class Model{
}
A类模型:
public class ModelA extends Model{
private String name;
private String lastname;
//getters and setters
}
模型B:
public class ModelB extends Model{
private int number;
private boolean isTrue;
//getters and setters
}
doSomeStuff()方法返回一个ResponseEntity
并且假设我有另一个方法doSomeOtherStuff(),该方法返回ResponseEntity
有什么方法可以将第一种方法的响应子字段映射到适当的子字段?使用swagger-UI,两种方法的全部功能如下:
{
"createdOn": "string",
// other fields
"model": {},
"values": {}
}
我想要以下内容: doSomeStuff():
{
"createdOn": "string",
// other fields
"model": {
"name": "string",
"lastname": "string",
}
"model": {
//All the subfields of SomeRandomObject
},
}
doSomeOtherStuff():
{
"createdOn": "string",
// other fields
"model": {
"number": "int",
"isTrue": "boolean",
}
"model": {
//All the subfields of AnotherRandomObject
},
}
因为它显然无法确定在实现级别返回的对象类型。
P.S。以上类为例。我非常感谢帮助使文档正常工作,而不是提供重构方法,因为上述逻辑已应用于100多种rest方法。
编辑:我正在使用springfox-swagger2和springfox-swagger-ui。