我正在使用springboot与springfox生成swagger API。
我有两个问题与springfox: 1)它不支持继承 2)它不支持JsonAnyGetter(就像我想的那样)
我可以覆盖json生成以自定义json并在运行时吗?
对于第一种情况,我想为每个子类型添加“allOf”。
对于第二种情况,我想添加一个自定义字段。
我的班级是分页的通用类。返回“resourceName”字段下的分页信息和列表。这是一个参数。 狗的PageWrapper将导致:
{
"paging": { ...paging info ...},
"dogs": [
.. list of dogs ..
]
}
班级:
@ApiModel(value = "Page", description = "Page of results")
public class PageWrapper<T> {
@JsonIgnore
private List<T> objects;
@JsonProperty("paging")
private Paging paging;
@JsonIgnore
private String objectsName = "data";
public PageWrapper(Page<T> page, String objectsName) {
if (StringUtils.isNotBlank(objectsName)) {
this.objectsName = objectsName;
}
this.objects = page.getContent();
this.paging = new Paging(page.getTotalElements(), page.getNumber() * page.getSize() + 1, page.getSize());
}
@JsonAnyGetter
@ApiModelProperty(name = "content", value = "Page content")
public Map<String, List<T>> data() {
Map<String, List<T>> datas = new HashMap<>();
datas.put(objectsName, objects);
return datas;
}
...