乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      springcloud Alibaba 2021.0.1.0 springboot 2.7.0 整合 Swagger3.0 報錯解決方案

       青苔IT 2022-05-23 發(fā)布于山東

      1. 引入依賴,版本 3.0.0 只引入一個即可

      		<dependency>
      		    <groupId>io.springfox</groupId>
      		    <artifactId>springfox-boot-starter</artifactId>
      		    <version>3.0.0</version>
      		</dependency>

      2. 配置類 SwaggerConfig

      package org.fh.config;
      
      import java.util.ArrayList;
      import java.util.Collection;
      import java.util.List;
      
      import org.springframework.boot.actuate.autoconfigure.endpoint.web.CorsEndpointProperties;
      import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties;
      import org.springframework.boot.actuate.autoconfigure.web.server.ManagementPortType;
      import org.springframework.boot.actuate.endpoint.ExposableEndpoint;
      import org.springframework.boot.actuate.endpoint.web.EndpointLinksResolver;
      import org.springframework.boot.actuate.endpoint.web.EndpointMapping;
      import org.springframework.boot.actuate.endpoint.web.EndpointMediaTypes;
      import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint;
      import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier;
      import org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointsSupplier;
      import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier;
      import org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping;
      import org.springframework.context.annotation.Bean;
      import org.springframework.context.annotation.Configuration;
      import org.springframework.core.env.Environment;
      import org.springframework.util.StringUtils;
      
      import springfox.documentation.builders.ApiInfoBuilder;
      import springfox.documentation.builders.PathSelectors;
      import springfox.documentation.builders.RequestHandlerSelectors;
      import springfox.documentation.oas.annotations.EnableOpenApi;
      import springfox.documentation.service.ApiInfo;
      import springfox.documentation.spi.DocumentationType;
      import springfox.documentation.spring.web.plugins.Docket;
      
      /**
       * 說明:Swagger 接口API生成
       * 作者:FH Admin Q313596790
       * from:fhadmin.cn
       */
      @Configuration
      @EnableOpenApi
      public class SwaggerConfig {
      
          @Bean
          public Docket createRestApi() {
              return new Docket(DocumentationType.OAS_30)
                      .apiInfo(apiInfo())
                      .select()
                      .apis(RequestHandlerSelectors.basePackage("org.fh.controller"))	// 為當(dāng)前包路徑
                      .paths(PathSelectors.any())
                      .build();
          }
      
      	private ApiInfo apiInfo() {
      		return new ApiInfoBuilder()
      				.title("FH Admin Swagger3 RESTful API") 	// 頁面標(biāo)題
      				.version("3.0")								// 版本號
      				.description("fhadmin.cn")				    // 描述
      				.build();
      	}
      	
      	/**
      	  * 增加如下配置可解決Spring Boot 2.6.x以上 與Swagger 3.0.0 不兼容問題
      	**/
          @Bean
          public WebMvcEndpointHandlerMapping webEndpointServletHandlerMapping(WebEndpointsSupplier webEndpointsSupplier, ServletEndpointsSupplier servletEndpointsSupplier, ControllerEndpointsSupplier controllerEndpointsSupplier, EndpointMediaTypes endpointMediaTypes, CorsEndpointProperties corsProperties, WebEndpointProperties webEndpointProperties, Environment environment) {
              List<ExposableEndpoint<?>> allEndpoints = new ArrayList();
              Collection<ExposableWebEndpoint> webEndpoints = webEndpointsSupplier.getEndpoints();
              allEndpoints.addAll(webEndpoints);
              allEndpoints.addAll(servletEndpointsSupplier.getEndpoints());
              allEndpoints.addAll(controllerEndpointsSupplier.getEndpoints());
              String basePath = webEndpointProperties.getBasePath();
              EndpointMapping endpointMapping = new EndpointMapping(basePath);
              boolean shouldRegisterLinksMapping = this.shouldRegisterLinksMapping(webEndpointProperties, environment, basePath);
              return new WebMvcEndpointHandlerMapping(endpointMapping, webEndpoints, endpointMediaTypes, corsProperties.toCorsConfiguration(), new EndpointLinksResolver(allEndpoints, basePath), shouldRegisterLinksMapping, null);
          }
          private boolean shouldRegisterLinksMapping(WebEndpointProperties webEndpointProperties, Environment environment, String basePath) {
              return webEndpointProperties.getDiscovery().isEnabled() && (StringUtils.hasText(basePath) || ManagementPortType.get(environment).equals(ManagementPortType.DIFFERENT));
          }
      
      }

      3.Swagger 攔截配置

      package org.fh.config;
       
      import org.springframework.context.annotation.Configuration;
      import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
      import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
      import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
       
      /**
       * 說明:Swagger 攔截配置
       * 作者:FH Admin
       * from fhadmin.org
       */
      @Configuration
      public class WebMvcConfig implements WebMvcConfigurer {
       
          @Override
          public void addResourceHandlers(ResourceHandlerRegistry registry) {
              registry.
                      addResourceHandler("/swagger-ui/**")
                      .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/")
                      .resourceChain(false);
          }
       
          @Override
          public void addViewControllers(ViewControllerRegistry registry) {
              registry.addViewController("/swagger-ui/")
                      .setViewName("forward:/swagger-ui/index.html");
          }
      }

      4. 訪問 127.0.0.1:8081/swagger-ui/index.html

      5. 接口說明案例

      處理類上加注解,比如
      @Api("用戶注冊登錄接口")
       
      在方法上加注解,比如
      @ApiOperation(value = "登錄", notes="請求登錄驗證用戶接口,校驗登錄是否成功")
      @ApiImplicitParam(name = "KEYDATA", value = "用戶名密碼混淆碼組合", paramType = "query", required = true, dataType = "String")

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多