linux

Linux下Swagger如何集成Spring Boot项目

小樊
64
2025-05-29 14:14:26
栏目: 智能运维

在Linux环境下,将Swagger集成到Spring Boot项目中是一个常见的做法,可以帮助你生成和维护API文档。以下是详细的步骤:

1. 添加依赖

首先,在你的pom.xml文件中添加Swagger和Swagger UI的依赖。

<dependencies>
    <!-- Spring Boot Starter Web -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- Swagger2 -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.9.2</version>
    </dependency>

    <!-- Swagger UI -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.9.2</version>
    </dependency>
</dependencies>

2. 配置Swagger

创建一个配置类来配置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.demo.controller")) // 替换为你的控制器包路径
                .paths(PathSelectors.any())
                .build();
    }
}

3. 启动应用

确保你的Spring Boot应用已经启动。你可以使用以下命令来启动应用:

./mvnw spring-boot:run

4. 访问Swagger UI

默认情况下,Swagger UI可以通过以下URL访问:

http://localhost:8080/swagger-ui.html

如果你更改了默认端口,请相应地调整URL。

5. 验证Swagger集成

打开浏览器并访问上述URL,你应该能够看到Swagger UI界面,并且可以查看和测试你的API。

6. 高级配置(可选)

你可以根据需要进一步配置Swagger,例如添加安全配置、自定义API信息等。

添加安全配置

如果你需要在Swagger UI中添加安全配置,可以参考以下示例:

import org.springframework.context.annotation.Bean;
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;
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
@EnableWebSecurity
public class SwaggerSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/swagger-ui.html", "/webjars/**", "/swagger-resources/**", "/v2/api-docs").permitAll()
                .anyRequest().authenticated();
    }

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
                .paths(PathSelectors.any())
                .build();
    }
}

通过以上步骤,你应该能够在Linux环境下成功地将Swagger集成到你的Spring Boot项目中。

0
看了该问题的人还看了