# 多版本号管理 1.22.0

自1.22.0开始支持接口多版本管理,允许相同的接口存在多个版本

假设有一个接口如下所示:

    /**
     * 查询分类
     * @param id 分类id|11
     * @return
     */
    @GetMapping("get")
    public Result<CategoryVO> get(Integer id) {
        return Result.ok(new CategoryVO());
    }

使用smart-doc正常推送,默认情况下接口版本为空字符串,当接口稳定或发布上线后,将这个接口设为1.0版本,如下图所示:

在下次的迭代开发中,需要新增一个参数categoryNo:

    /**
     * 查询分类
     * @param id 分类id|11
     * @param categoryNo 分类编号|xx
     * @return
     */
    @GetMapping("get")
    public Result<CategoryVO> get(Integer id, String categoryNo) {
        return Result.ok(new CategoryVO());
    }

使用smart-doc正常推送。

此时将会存在两个接口,一个是之前1.0接口,另一个是当前正在开发的接口。1.0接口已经稳定,内容不会被推送修改。

TIP

设置了版本号的接口下次推送不会被覆盖/修改(类似于锁定)