swagger 类属性显示不正确字段属性显示不正确

问题描述:

使用swagger过程中,针对接口返回值包含的结构体Class A使用注解说明后,发现接口描述信息中返回值对应并不是对应的实体类Class A,而是变为了类Class B,当然class B对应的类属性也不会是class A的属性。

问题剖析

@ApiModel("这是class A的描述")
public class A {
	@ApiModelProperty("id")
	private int id;
	@ApiModelProperty("id")
	private String name;
}

正常情况下,大家使用的应该都是上面类注解,属性注解进行说明。但是由于项目大多是分模块多人配合,因此就有可能出现下面这种情况:

程序员 A:
@ApiModel("这是class A的描述")
public class A {
	@ApiModelProperty("id")
	private int id;
	@ApiModelProperty("id")
	private String name;
}

程序员B
@ApiModel("这是class A的描述")
public class B {
	@ApiModelProperty("id")
	private int idB;
	@ApiModelProperty("id")
	private String nameB;
}

二者的类描述由于某种原因惊人的一致,那么会出现什么情况呢
二人的接口返回值中原本分别包含 class A 和class B的,现在全都变成了class A
也就是说,因为类注解的说明重复导致了class B被swagger 误判为他就是class A,在swagger doc中原本返回值中的class B也就直接被用class A覆盖了。

解决方案

不妨把你的类注解和属性注解中的值加一个统一的前缀

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值