swagger

使用swagger接口文档

一: 导入依赖

	<!--  swagger -->
        <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>

        <!--  swagger bootstrap ui -->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.9.2</version>
        </dependency>

二: swagger配置类

@Configuration
@EnableSwagger2
public class Swagger2Config {

    @Bean
    public Docket adminApiConfig(){
        return new Docket(DocumentationType.SWAGGER_2).groupName("组名称")
                .apiInfo(adminApiInfo())
                .select()
                .paths(Predicates.and(PathSelectors.regex("配置什么路径下的类生成swagger")))
                .build();
    }

    private ApiInfo adminApiInfo(){
        return new ApiInfoBuilder().title("标题")
                .description("描述")
                .version("1.0")
                .contact(new Contact("Helen", "http://baidu.com","admin@admin.com"))
                .build();
    }
}

三: controller示例

@Api(tags = "控制器名称")
public class LoginController {
    @ApiOperation(value = "移动端账号密码登录", notes = "移动端账号密码登录")
    @PostMapping("/login/accountLogin")
    public R accountLogin(
            @ApiParam(value = "账号", required = true)
            @RequestBody UserBean userBean
    ) {
        
    }
}

四: 其他的类可以使用mybatisPlus生成时配置swagger生成的配置

五: 如果配置了拦截器的话,可以放行以下配置,不会拦截swagger配置路径

public void addInterceptors(InterceptorRegistry registry) {
    // 添加自定义拦截器,并拦截对应 url
    registry.addInterceptor(interceptor).addPathPatterns("/move/**") // 拦截的路径
            .excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**"); // 放行swagger路径
  }
### Swagger 技术概述 Swagger 是一种广泛使用的工具集,旨在帮助开发者设计、构建和记录 RESTful API。其核心组件包括 Swagger Editor、Swagger Codegen 和 Swagger UI,这些工具共同构成了一个强大的生态系统,支持从 API 文档的创建到功能测试的整个生命周期。 #### Swagger 的主要功能模块 - **Swagger Editor**: 提供了一个基于浏览器的编辑环境,允许用户通过 YAML 或 JSON 语法编写 API 定义[^1]。 - **Swagger Codegen**: 这一工具能够根据已有的 API 定义生成多种编程语言的客户端和服务端代码[^4]。 - **Swagger UI**: 自动化生成交互式的 API 文档界面,使得开发人员可以轻松查看并测试 API 功能而无需额外配置[^1]。 #### 工作机制解析 当项目引入 Swagger 支持后,在应用启动阶段会自动扫描指定路径下的控制器类(通常带有 `@RestController` 注解)。随后依据这些类及其方法上的注解信息动态生成对应的 API 文档内容[^2]。这种自动化过程极大地减少了手动维护文档的工作量,并确保了文档与实际实现之间的一致性。 #### 实际应用场景举例 下面展示如何利用 Spring Boot 结合 Swagger 创建简单的 RESTful 接口: ```java import io.swagger.annotations.Api; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @Api(tags = "示例接口") @RequestMapping("/example") @RestController public class ExampleController { @GetMapping("/hello") public String sayHello() { return "Hello, Swagger!"; } } ``` 上述代码片段展示了在一个典型的 Java 应用程序中集成 Swagger 所需的基本设置。通过添加必要的依赖项以及适当配置之后即可启用该特性[^3]。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lemon20120331

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值