ITPub博客

首页 > 应用开发 > Java > 如何在Spring Boot中配置Swagger

如何在Spring Boot中配置Swagger

原创 Java 作者:mingtian66 时间:2024-09-23 15:46:57 0 删除 编辑

在Spring Boot中配置Swagger可以帮助你轻松生成API文档并提供交互式API界面。以下是详细的步骤来配置Swagger。
1. 添加依赖

首先,在你的pom.xml中添加Swagger的依赖。常用的Swagger实现是springfox-swagger-ui。

xml

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>

2. 启用Swagger

在你的Spring Boot应用的主类或任意配置类上添加@EnableSwagger2注解(在Springfox 3.x中已默认启用)。

java

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}

3. 配置Swagger

你可以创建一个Swagger配置类来自定义Swagger的设置:

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
public class SwaggerConfig {
    
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.example")) // 替换为你的包名
                .paths(PathSelectors.any())
                .build();
    }
}

4. 访问Swagger UI

启动你的Spring Boot应用后,可以通过以下URL访问Swagger UI:

bash

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

5. 自定义API信息

你可以进一步自定义API信息,如标题、描述和版本等:

java

import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;

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

private ApiInfo apiDetails() {
    return new ApiInfo(
            "My API",
            "API description",
            "1.0",
            "Free to use",
            new Contact("Your Name", "website.com", "email@example.com"),
            "API License",
            "API License URL",
            Collections.emptyList()
    );
}

6. 保护Swagger

如果你的应用需要安全控制,可以使用Spring Security配置保护Swagger接口。例如,允许访问Swagger的所有路径。

java

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
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/swagger-ui/**", "/v2/api-docs", "/swagger-resources/**").permitAll()
                .anyRequest().authenticated();
    }
}

总结

以上步骤展示了如何在Spring Boot中配置Swagger。你可以通过Swagger UI轻松查看和测试你的API。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70040412/viewspace-3028879/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2024-08-07

  • 博文量
    589
  • 访问量
    602807