赞
踩
pom文件:
- <?xml version="1.0" encoding="UTF-8"?>
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>2.7.2</version>
- <relativePath/> <!-- lookup parent from repository -->
- </parent>
-
- <groupId>com.example</groupId>
- <artifactId>demo</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- <name>2023_demo</name>
- <description>2023_demo</description>
-
- <properties>
- <java.version>11</java.version>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- <optional>true</optional>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.springdoc</groupId>
- <artifactId>springdoc-openapi-ui</artifactId>
- <version>1.6.11</version>
- </dependency>
- <dependency>
- <groupId>com.github.xiaoymin</groupId>
- <artifactId>knife4j-springdoc-ui</artifactId>
- <version>3.0.3</version>
- </dependency>
-
-
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- </exclude>
- </excludes>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <repositories>
- <repository>
- <id>aliyun-repo</id>
- <name>aliyun</name>
- <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
- </repository>
- </repositories>
-
- </project>
yum文件:
- server:
- port: 18080
-
- springdoc:
- swagger-ui:
- enabled: true # 开关
- doc-expansion: none #关闭展开
- api-docs:
- enabled: true # 开关
- package com.example.demo.config;
-
- import io.swagger.v3.oas.annotations.OpenAPIDefinition;
- import io.swagger.v3.oas.annotations.info.Info;
- import io.swagger.v3.oas.models.parameters.Parameter;
- import org.springdoc.core.GroupedOpenApi;
- import org.springdoc.core.customizers.OperationCustomizer;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
-
- /**
- * @description
-
- * @author
- * @since 2023/8/31
- */
- @Configuration
- @OpenAPIDefinition(info = @Info(title = "springDoc + knife 集成测试", version = "1.0",
- description = "swagger基础项目脚手架")
- )
- public class SwaggerConfig {
-
- @Bean
- public GroupedOpenApi usercApi() {
- return GroupedOpenApi.builder()
- .group("用户管理")
- .packagesToScan("com.example.demo.system")
- .pathsToMatch("/**")
- .build();
- }
-
- @Bean
- public GroupedOpenApi biApi(OperationCustomizer operationCustomizer) {
- return GroupedOpenApi.builder()
- .group("报表管理")
- .packagesToScan("com.example.demo.bi")
- .pathsToMatch("/**")
- .addOperationCustomizer(operationCustomizer)
- .build();
- }
-
- @Bean
- public OperationCustomizer operationCustomizer() {
- return (operation, handlerMethod) -> operation.addParametersItem(
- new Parameter()
- .in("header")
- .required(true)
- .description("token 验证")
- .name("token"));
- }
-
- // @Bean
- // public OpenApiCustomiser customerGlobalHeaderOpenApiCustomise() {
- // Parameter passwordParameter = new Parameter().name("password").description("密码").in(ParameterIn.QUERY.toString()).schema(new Schema<>().type("string"));
- // Parameter usernameParameter = new Parameter().name("username").description("用户名").in(ParameterIn.QUERY.toString()).schema(new Schema<>().type("string"));
- // ApiResponse apiResponse = new ApiResponse().content(new Content().addMediaType("*/*", new MediaType()));
- // PathItem pathItem = new PathItem().post(new Operation().summary("登录").tags(CollUtil.newArrayList("system/auth")).description("系统管理/鉴权接口").responses(new ApiResponses()
- // .addApiResponse("default", apiResponse))
- // .parameters(CollUtil.newArrayList(usernameParameter, passwordParameter)));
- // return openApi -> openApi.path("/auth/login", pathItem);
- //
- // }
- }
访问swagger-ui:
访问doc.html: http://localhost:18080/doc.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。