# 接口排序
WARNING
knife4j
版本>2.0.1 使用此规则,后端必须开启增强注解@EnableKnife4j
目前提供的排序规则主要有2种,分别是:
- Controller之间的tags分组排序
- Controller下的接口排序
# tags分组排序
Controller之间的排序主要有两种方式,排序的规则是倒序,但是排序的最小值必须大于0
建议优先级是:@ApiSupport
>@ApiSort
>@Api
对于最高级别的值,可以从999开始
@ApiSupport注解自2.0.3版本引入
第一种,使用@ApiSupport
注解中的属性order
,代码示例如下:
@Api(tags = "2.0.3版本-20200312")
@ApiSupport(order = 284)
@RestController
@RequestMapping("/api/nxew203")
public class Api203Constroller {
}
第二种情况,使用knife4j
提供的增强注解@ApiSort
,代码示例如下:
@Api(tags = "2.0.2版本-20200226")
@ApiSort(286)
@RestController
@RequestMapping("/api/nxew202")
public class Api202Controller {
}
第三种,使用注解@Api
中的属性position
,代码示例如下:
@Api(tags = "2.0.2版本-20200226",position = 286)
@RestController
@RequestMapping("/api/nxew202")
public class Api202Controller {
}
注意:如果排序增强功能后,前端在访问文档时也必须开启增强模式,具体可以参考前端默认开启增强模式
# tag下接口排序
针对Controller下的具体接口,排序规则是使用Knife4j
提供的增强注解@ApiOperationSupport
中的order字段,代码示例如下:
@ApiOperationSupport(order = 33)
@ApiOperation(value = "忽略参数值-Form类型")
@PostMapping("/ex")
public Rest<LongUser> findAll(LongUser longUser) {
Rest<LongUser> r=new Rest<>();
r.setData(longUser);
return r;
}
被围观 人次