首页 > 解决方案 > 当属性具有 @XmlJavaTypeAdapter 注释时,使用 Swagger/Springfox 更正数据类型

问题描述

我用大张旗鼓的注释注释了一个端点。在@ResponseHeader 中,我将返回类设置为响应。此类包含一个使用@XmlJavaTypeAdapter 注释的属性。适配器正在更改属性的数据类型。不幸的是,Swagger 显示了属性的类型,而不是 Adapter 的返回类型。是否有可能做到这一点?

我已经尝试过使用@ApiModelProperty() 来注释属性。但是我无法将 dataType 设置为 List (原始数据类型或只是一个列表正在工作)。

谢谢 :)

标签: javaspringjaxbswaggerspringfox

解决方案


以下不工作:

@ApiModelProperty(dataType = "List<Map<String, String>>")
public Map<String, String> someMap = new HashMap<>();

我必须创建一个接口

public interface ListOfMap extends List<Map<String, String>> {}

然后我在 ApiModelProperty 中使用了这个接口:

@ApiModelProperty(dataType = "ListOfMap")
public Map<String, String> someMap = new HashMap<>();

有了这个,一切正常:)


推荐阅读