gpt4 book ai didi

java - 防止 Swagger 自动添加某些模型

转载 作者:行者123 更新时间:2023-12-03 21:04:40 25 4
gpt4 key购买 nike

我使用 Spring Boot 框架构建了一个 REST 接口(interface)。然后,我使用 Swagger 2.9.2 版来生成文档。从下图可以看出,Swagger 自动检测了很多模型。

Models

但是,它们中的大多数都是多余的。其中,只有ResponseMessage是必须的,其余的只是标准的Java类。

所以,我的问题是:如何告诉 Swagger 要公开哪些模型 ?

这是我的 Controller 的 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);
}

Controller :
@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"));
}

最佳答案

您可以使用 :

@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2).select()
.apis(RequestHandlerSelectors.basePackage("com.package"))
.paths(PathSelectors.regex("/api.*")).build().apiInfo(apiInfo())
.ignoredParameterTypes(Timestamp.class);
}
这对我有用。在 中指定类名后被忽略的参数类型 ,它不再出现在 swagger ui 中。

关于java - 防止 Swagger 自动添加某些模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55167859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com