在Ubuntu環境下將Swagger集成到Spring Boot項目中,可以按照以下步驟進行操作:
如果你還沒有一個Spring Boot項目,可以使用Spring Initializr來創建一個。
com.example
。swagger-demo
。swagger-demo
。com.example.swaggerdemo
。Jar
或 War
。11
或 17
。Dependencies
部分添加 Spring Web
和 Springfox Swagger2
。Generate
下載項目壓縮包。在你的 pom.xml
文件中添加以下依賴:
<dependencies>
<!-- Spring Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Springfox Swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- Springfox Swagger UI -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
</dependencies>
創建一個配置類來配置Swagger:
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
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.swaggerdemo.controller"))
.paths(PathSelectors.any())
.build();
}
}
創建一個簡單的Controller來測試Swagger:
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!";
}
}
在終端中運行以下命令來啟動Spring Boot應用:
./mvnw spring-boot:run
打開瀏覽器并訪問以下URL來查看Swagger UI:
http://localhost:8080/swagger-ui.html
你應該能夠看到你的API文檔和測試界面。
通過以上步驟,你已經成功地在Ubuntu環境下將Swagger集成到了Spring Boot項目中。你可以根據需要進一步配置Swagger,例如添加更多的API文檔、自定義Swagger UI等。