我很高兴使用swagger为前端开发人员生成API文档。
但是,如果我有一些方法需要在请求的标头中包含Bearer令牌或其他内容。问题出了,我必须在每种方法上重复复制并粘贴整个注释。它违反了DRY原则,当我必须对Bearer令牌文档进行一些更改时,这将是一场灾难。
当前
@ApiImplicitParam(name="Authorization",value = "Bearer token",dataType = "string", paramType ="header")
public ResponseEntity<Void> doSth(){};
@ApiImplicitParam(name="Authorization",value = "Bearer token",dataType = "string", paramType ="header")
public ResponseEntity<Void> doSth2(){};
@ApiImplicitParam(name="Authorization",value = "Bearer token",dataType = "string", paramType ="header")
public ResponseEntity<Void> doSth3(){};
我想要做的是创建一个继承自@ ApiOauth2的注释
@ApiImplicitParam(name =“ Authorization”,value =“ Bearer token”,dataType =“ string”,paramType =“ header”),可以通过招摇来识别
@ApiOauth2
public ResponseEntity<Void> doSth(){};
@ApiOauth2
public ResponseEntity<Void> doSth2(){};
@ApiOauth2
public ResponseEntity<Void> doSth3(){};
我搜索到注释不能扩展,如何实现这种方法?
最佳答案
尝试这个:
@ApiImplicitParams({
@ApiImplicitParam(
name="Authorization",
value = "Bearer token",
dataType = "string",
paramType ="header")
})
public @interface ApiOauth2 {
}