我很高兴使用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 {

}

09-27 06:40