当前位置: 首页 > 知识库问答 >
问题:

Spring boot-swagger-swagger不改变多模块项目的apiinfo/globalresponse标准值

锺离烈
2023-03-14

现在让我们继续讨论这个问题。今天,我为一个Spring Boot项目安装了所有3.0.0 Swagger依赖项(boot-starter、swagger2和swagger-ui)。一切都在正常工作,但我无法更改Docket Builder中的apiInfo信息。

格雷德尔:

    implementation "io.springfox:springfox-boot-starter:3.0.0"
    implementation "io.springfox:springfox-swagger2:3.0.0"
    implementation "io.springfox:springfox-swagger-ui:3.0.0"

SpringFoxConfig.java:

package io.ubivis.swagger;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;

@Configuration
public class SpringFoxConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build()
                .apiInfo(metaData());
    }

    private ApiInfo metaData() {
        return new ApiInfoBuilder()

                .title("Spring Boot REST API")
                .description("Spring Boot REST API for Space Study")
                .version("1.0.0")
                .license("Apache 2.0")
                .contact(new Contact("XYZ", "XYZ.com", "XYZ@gmail.com"))
                .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0")
                .build();
    }
}
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build()
                .useDefaultResponseMessages(false)
                .globalResponseMessage(RequestMethod.POST, responseMessageForGet())
                .apiInfo(metaData());
    }

在这个编辑中,我试图将依赖关系降级到2.9.2版本,寻找我的问题所在。但我还是有同样的问题(现在又有一个lol了)。

共有1个答案

孙梓
2023-03-14

刚刚找到了我问题的答案。实际上,在开始的时候,我忘了提到我的项目是一个多模块的spring项目。我不认为这会在这个问题上改变什么,但我错了。问题是我的SpringApplication没有扫描类的swaggager配置。

如果遇到类似的问题,应该将以下注释插入到SpringBootApplication中:

@SpringBootApplication(scanBasePackages = "br.com.vicnetto")
@EnableSwagger2
public class SpringBootApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConsoleConfigApplication.class, args);
    }
}

@SpringBootApplication的参数scanBasePackages应该包括SwaggerConfiguration类。

 类似资料:
  • 我有一个基本的SpringBoot应用程序。使用Spring初始值设定项、嵌入式Tomcat、Thymeleaf模板引擎,并将包作为可执行的JAR文件。是一个带有Spring Boot的多模块项目,该项目将有3个模块。这里是父模块pom。xml 这里是模块核心 这里是模块web: 从父根目录,我使用以下方法生成所有模块: 但问题是tdk-web-0.0.2-SNAPSHOT。jar不包含tdk-c

  • 父项目为demo-mybatis子模块为mybatis-dao、demo-service。demo-mybatis pom.xml如下: 4.0.0 pom mybatis-DAO Demo-service Demo-mybatis-app org.springframework.Boot spring-boot-starter-parent 2.3.2.release com.example D

  • 我有一个带有myapp-core和myapp-web模块的myapp父pom类型maven项目。myapp-core模块作为依赖项添加到MyApp-Web。 myapp-core模块中的所有类都位于根包com.myapp.core中,而myapp-web模块中的所有类都位于根包com.myapp.web中 主要的application.java也在com.myapp.web包中。由于我的核心模块根

  • 我得到一个错误--“请指出一个有效的Swagger或OpenAPI版本字段。支持的版本字段是Swagger:”2.0“和那些与OpenAPI:3.0.n匹配的版本字段(例如,OpenAPI:3.0.0)。”当我将生成的json从/api-docs粘贴到editor.swagger.io时。我有一些观察。 > localhost:8080/v3/api-docs/yields-此json在edito

  • 我在教程两个模块的帮助下创建了一个springboot mutimodule项目--一个后端(java类),另一个forntend(angular 5应用程序)我在后端模块中包含了前端模块的依赖项。我正在创建一个jar使用maven资源插件。我也在将静态资源复制到pom.xml中构建目录的静态文件夹中。我还有一个@Controller返回“index”。当我运行jar时,我希望看到index.ht

  • null null 的POM: 的POM:http://maven.apache.org/xsd/maven-4.0.0.xsd“>4.0.0 此项目成功地从顶部编译,但运行失败: