ubuntu

Ubuntu Swagger与Spring Boot如何联用

小樊
47
2025-06-19 02:00:51
栏目: 智能运维

在Ubuntu上联用Swagger(现称为OpenAPI)与Spring Boot主要涉及安装Swagger UI和配置Spring Boot以生成API文档。以下是详细的步骤:

1. 添加Swagger依赖

在你的Spring Boot项目的pom.xml文件中添加Swagger相关的依赖:

<dependencies>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.9.2</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.9.2</version>
    </dependency>
</dependencies>

2. 创建Swagger配置类

创建一个名为SwaggerConfig.java的Java配置类,并添加如下代码:

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()
            .apiInfo(apiInfo());
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
            .title("API文档")
            .description("这是一个用于演示Swagger的API文档")
            .version("1.0")
            .build();
    }
}

请确保将com.example.demo.controller替换为您实际的控制器包名。

3. 启动Spring Boot应用

启动您的Spring Boot应用。通常,您可以通过运行以下命令来启动:

./mvnw spring-boot:run

或者,如果您使用的是IDE(如IntelliJ IDEA或Eclipse),则可以直接运行Spring Boot应用的启动类。

4. 访问Swagger UI

启动Spring Boot应用后,在浏览器中访问以下URL:

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

您将看到Swagger UI界面,其中包含了所有已注册的API接口信息。您可以直接在此界面测试您的API。

5. 配置Web服务器(可选)

如果您希望使用Apache或Nginx作为Web服务器,可以参考以下配置示例:

使用Apache

sudo a2ensite default.conf
sudo systemctl restart apache2

使用Nginx

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.baksudo nano /etc/nginx/sites-available/default

修改server块中的rootindex指令:

server {
    listen 80 default_server;
    listen [::]: 80 default_server;
    root /var/www/html;
    index index.html index.htm;
    server_name _;
    location / {
        try_files $uri $uri/ =404;
    }
}

保存并退出编辑器,然后重启Nginx:

sudo systemctl restart nginx

通过以上步骤,您就可以在Ubuntu上成功集成Swagger与Spring Boot,并生成和查看API文档。

0
看了该问题的人还看了