swagger-ui页面接口的入参出参与代码实体类不一致有差异

时间:2024-10-12 16:12:28

swagger-ui页面接口的入参出参与代码实体类不一致有差异

后端开发,在进行后端接口开发时,会用到swagger进行接口管理。
路径:http://local:8080/xxx/swagger-ui.html

但是在swagger-ui页面,查看接口时,发现入参出参列表自己开发的接口出入参实体类不一样

class
碰到这个问题,很多人第一反应,以为是 浏览器缓存,客户端缓存等导致的,其实不是的,真正原因是开发人员定义的实体类的api model名导致的。

比如工程中有两个实体类,这两个实体类是完全不一样的,只是ApiModel命名一样。

如下两个实体类
是你的接口用的入参实体类
是工程里已有的实体类
但是由于两个实体类都叫同一个名:@ApiModel(“查询详细信息入参”)
所以就导致了,你的接口swagger-ui展示成了其他的实体类参数了。

@ApiModel("查询详细信息入参")
public class PerionInfo implements Serializable{
	private static final long seriUID = -1L;
    @ApiModelProperty("姓名")
    private String name;
    @ApiModelProperty("性别")
    private String sex;
    @ApiModelProperty("生日")
    private String birday;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
@ApiModel("查询详细信息入参")
public class CarInfo implements Serializable{
	private static final long seriUID = -1L;
    @ApiModelProperty("车名")
    private String name;
    @ApiModelProperty("颜色")
    private String col;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

总结:

  1. 在抄别人代码的时候,一定要注意不能硬抄,关键位置代码一定要改
  2. swagger 管理接口比较常见,开发人员需要用心维护好
  3. 这个坑,有缘人就不要再踩了