我正在使用Swagger和Spring MVC.我想在特定环境(如生产)中有选择地禁用招摇.我怎样才能做到这一点?
我使用 Spring Boot 框架构建 REST 接口。然后,我使用 Swagger 版本 2.9.2 生成文档。从下面的照片中可以看到,Swagger 自动检测了很多模型。
然而,其中大多数都是多余的。其中,只有 是ResponseMessage必需的,其余的只是标准的 Java 类。
所以,我的问题是:我如何告诉 Swagger 要公开哪些模型?
这是我的控制器的 Swagger 配置和代码片段。
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("my.package"))
.paths(PathSelectors.any())
.build()
.apiInfo(API_INFO)
.useDefaultResponseMessages(false);
}
Run Code Online (Sandbox Code Playgroud)
控制器:
@PostMapping(value = "/import", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<?> importData(HttpServletRequest request) {
// processing...
return ResponseEntity.created(uri)
.body(new ResponseMessage(HttpStatus.CREATED, "Your data is being processed"));
}
Run Code Online (Sandbox Code Playgroud)