一、全局配置
1.主要代碼如下,可自行百度進行相關的配置修改,另外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ū)項目組")
.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;
}
}
二、定義通用返回結構:
1.定義的類可接收泛型
public class R<T>
2.定義如下幾個常量作為返回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 = "返回數(shù)據(jù)", example = " ", position = 2)
private T data;
3.定義一些通用方法可進行統(tǒng)一使用,這些可自行定義相關方法
public static R ok() {return ok(Result.SUCCESS);}
三、自定義方法響應
1.如下面一行代碼只需要在放回結構體R中添加對應的返回類型即可,swagger文檔會生成CommentVo響應的說明文檔,另外CommentVo相關字段也需使用@ApiModelProperty注解說明每個字段的含義,才會顯示
public R<CommentVO> getComment(@Validated CommentSelfParam param){
四、響應結果
1.響應文檔:
2.響應示例:







暫無評論,快來評論吧!