一、全局配置
1.主要代碼如下,可自行百度進(jìn)行相關(guān)的配置修改,另外pom依賴也自行百度即可:
@Configuration
@EnableSwagger2
@EnableKnife4j
@Import(BeanValidatorPluginsConfiguration.class)
public class SwaggerConfiguration {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(groupApiInfo())
.select()
//包路徑
.apis(RequestHandlerSelectors.basePackage("XXXXX"))
//過濾的接口
.paths(PathSelectors.any())
.build()
.securitySchemes(security())
.securityContexts(securityContexts());
}
private ApiInfo groupApiInfo(){
return new ApiInfoBuilder()
.title("彩龍社區(qū)API接口")
.description("接口列表")
.termsOfServiceUrl("http://www.hexiangwang.cn/")
.contact("彩龍社區(qū)項(xiàng)目組")
.version("1.0")
.build();
}
List<SecurityReference> defaultAuth() {
AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope;
List<SecurityReference> securityReferences=new ArrayList<>();
securityReferences.add(new SecurityReference(Consts.TOKEN_KEY, authorizationScopes));
securityReferences.add(new SecurityReference(Consts.FRONT_TOKEN_KEY, authorizationScopes));
return securityReferences;
}
private List<SecurityContext> securityContexts() {
List<SecurityContext> securityContexts=new ArrayList<>();
securityContexts.add(
SecurityContext.builder()
.securityReferences(defaultAuth())
.forPaths(PathSelectors.any())
.build());
return securityContexts;
}
private List<ApiKey> security() {
List<ApiKey> apiKeyList= new ArrayList();
apiKeyList.add(new ApiKey(Consts.TOKEN_KEY, Consts.TOKEN_KEY, "header"));
apiKeyList.add(new ApiKey(Consts.FRONT_TOKEN_KEY, Consts.FRONT_TOKEN_KEY, "header"));
return apiKeyList;
}
}
二、定義通用返回結(jié)構(gòu):
1.定義的類可接收泛型
public class R<T>
2.定義如下幾個(gè)常量作為返回code碼,信息,以及數(shù)據(jù)(T泛型可返回各種類型數(shù)據(jù))
@ApiModelProperty(value = "狀態(tài)碼", example = "2000")
private int error;
@ApiModelProperty(value = "返回提示信息", example = "成功", position = 1)
private String message;
@ApiModelProperty(value = "返回?cái)?shù)據(jù)", example = " ", position = 2)
private T data;
3.定義一些通用方法可進(jìn)行統(tǒng)一使用,這些可自行定義相關(guān)方法
public static R ok() {return ok(Result.SUCCESS);}
三、自定義方法響應(yīng)
1.如下面一行代碼只需要在放回結(jié)構(gòu)體R中添加對(duì)應(yīng)的返回類型即可,swagger文檔會(huì)生成CommentVo響應(yīng)的說明文檔,另外CommentVo相關(guān)字段也需使用@ApiModelProperty注解說明每個(gè)字段的含義,才會(huì)顯示
public R<CommentVO> getComment(@Validated CommentSelfParam param){
四、響應(yīng)結(jié)果
1.響應(yīng)文檔:
2.響應(yīng)示例:







暫無評(píng)論,快來評(píng)論吧!