在Debian系统下集成Swagger与Spring Boot,可以按照以下步骤进行:
1. 创建Spring Boot项目
首先,你需要创建一个Spring Boot项目。你可以使用Spring Initializr来快速生成项目结构。
- 访问 Spring Initializr。
- 配置项目:
- Group: 例如
com.example
- Artifact: 例如
swagger-demo
- Name: 例如
swagger-demo
- Description: 例如
Demo project for Swagger with Spring Boot
- Package name: 例如
com.example.swaggerdemo
- Packaging: 选择
Jar
- Java: 选择你使用的Java版本,例如
11
或17
- Group: 例如
- 添加依赖:
Spring Web
Springfox Swagger2
Springfox Swagger UI
- 点击
Generate
下载项目压缩包。 - 解压项目并导入到你的IDE中(例如IntelliJ IDEA或Eclipse)。
2. 配置Swagger
在Spring Boot项目中配置Swagger,需要创建一个配置类。
- 在
src/main/java/com/example/swaggerdemo
目录下创建一个新的Java类,例如SwaggerConfig.java
。 - 添加以下代码:
package com.example.swaggerdemo;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import springfox.documentation.builders.PathSelectors;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;@Configuration@EnableSwagger2public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.basePackage("com.example.swaggerdemo.controller")) .paths(PathSelectors.any()) .build(); }}
3. 创建控制器
创建一个简单的控制器来测试Swagger。
- 在
src/main/java/com/example/swaggerdemo/controller
目录下创建一个新的Java类,例如HelloController.java
。 - 添加以下代码:
package com.example.swaggerdemo.controller;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("/api")public class HelloController { @GetMapping("/hello") public String sayHello() { return "Hello, Swagger!"; }}
4. 运行项目
在终端中运行Spring Boot应用程序。
cd /path/to/swagger-demo./mvnw spring-boot:run
5. 访问Swagger UI
打开浏览器并访问以下URL:
http://localhost:8080/swagger-ui.html
你应该能够看到Swagger UI界面,并且可以看到你创建的API文档。
6. 配置安全设置(可选)
如果你有安全设置(例如Spring Security),你可能需要配置Swagger UI的访问权限。
- 在
SecurityConfig.java
中添加以下代码:
package com.example.swaggerdemo;import org.springframework.context.annotation.Configuration;import org.springframework.security.config.annotation.web.builders.HttpSecurity;import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;@Configuration@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/swagger-ui.html", "/webjars/**", "/swagger-resources/**").permitAll() .anyRequest().authenticated() .and() .formLogin() .and() .httpBasic(); }}
这样,Swagger UI和相关的静态资源就可以被公开访问了。
通过以上步骤,你就可以在Debian系统下成功集成Swagger与Spring Boot。