@Configuration
@EnableSwagger2
public class SwaggerConfig {
public static final String AUTHORIZATION_HEADER = "Authorization";
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2).securitySchemes(Arrays.asList(apiKey())).select()
.apis(RequestHandlerSelectors.withClassAnnotation(RestController.class)).paths(PathSelectors.any()).
build().apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("API").description("DEMO").version("v1").build();
}
private ApiKey apiKey() {
return new ApiKey("JWT", AUTHORIZATION_HEADER, "header");
}
}
此配置显示所有控制器,如何在 Swagger 上仅显示特定的控制器?
1.同一封装中的特定控制器
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2).securitySchemes(Arrays.asList(apiKey())).select()
.apis(RequestHandlerSelectors.basePackage("com.tm.x.y.z.your.controller")).paths(PathSelectors.any()).
build().apiInfo(apiInfo());
}
在 com.tm.x.y.z.your.controller 中显示所有控制器
>
创建类注释(例如:显示 API 注释)
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
public @interface ShowAPI {
String value() default "";
}
向控制器添加注释
@RestController
@ShowAPI
public class ExampleController {
}
更改炫耀配置
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2).securitySchemes(Arrays.asList(apiKey())).select()
.apis(RequestHandlerSelectors.withClassAnnotation(ShowAPI.class)).paths(PathSelectors.any()).build()
.apiInfo(apiInfo());
}
显示带有类注释的所有控制器是ShowAPI
我目前在我的项目中使用swagger,我有100多个控制器。我想由于大量的控制器,swagger UI文档页面需要超过5分钟来加载它的控制器。是否可以在UI页面选择特定的控制器,并只为它们加载选项?或者还有其他方法可以更快地加载UI页面?帮帮我!
我使用maven codegen插件只是从我的yml文件生成控制器和模型文件的接口。这是一个java Spring Boot程序。 插件配置: 关键是在我的目标/生成的源目录/swagger中生成了许多我不需要的文件,例如: . swagger-codemen/Version . swagger-codemen-忽略 pom-xml README. md 我只需要在src/main/java…中生
我已经将swagger与django rest框架集成在一起,但是swagger文档没有创建一个输入框来发布post请求的数据。 我的解析器设置, }
我有一个用于POST操作的大摇大摆的Spring MVCendpoint。该操作采用一个路径参数和一个(json)请求实体。当大摇大摆的UI生成时,它会自动创建请求正文数据类型的示例值。这个例子是基于应用程序中的一个java实体。该实体用于一些其他操作,但是对于POST操作,我不希望示例中暴露的一些实体字段。是否可以在不修改现有java模型的情况下修改这个例子?例如,是否可以在下面的示例中排除。
下面是我的代码:我正在从application.properties文件swagerconfig.java获取所有值 下面是我的springboot初始值设定项: ServletInitializer.java 日志显示它已映射: 这是我得到的错误:
本文向大家介绍SpringBoot整合Swagger的方法示例,包括了SpringBoot整合Swagger的方法示例的使用技巧和注意事项,需要的朋友参考一下 依赖 配置类 启动类 在springBoot的启动类上添加一个注解即可配置成功: @EnableSwagger2 访问api的路径 http://ip/projectName/swagger-ui.html 注解说明 @Api 标注在类上,