swagger2

swagger需要导入swagger相关页面,比较麻烦。
swagger2更近一步,只需要做几个配置即可,更简单,更易用。

项目基于spring-boot实现,下面指定配置点

pom.xml依赖

        <!--  swagger 框架依赖 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.6.1</version>
        </dependency>

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.6.1</version>
        </dependency>

swagger2配置类

/**
 *
 * swagger2使用说明:
     @Api:用在类上,说明该类的作用
     @ApiOperation:用在方法上,说明方法的作用
     @ApiImplicitParams:用在方法上包含一组参数说明
     @ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
         paramType:参数放在哪个地方
         header-->请求参数的获取:@RequestHeader
         query-->请求参数的获取:@RequestParam
         path(用于restful接口)-->请求参数的获取:@PathVariable
         body(不常用)
         form(不常用)
         name:参数名
         dataType:参数类型
         required:参数是否必须传
         value:参数的意思
         defaultValue:参数的默认值
     @ApiResponses:用于表示一组响应
     @ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
         code:数字,例如400
         message:信息,例如"请求参数没填好"
         response:抛出异常的类
     @ApiModel:描述一个Model的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)
     @ApiModelProperty:描述一个model的属性
  *
  *
 */
@Configuration
@EnableSwagger2
public class SwaggerConfig2 {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                            .apiInfo(createApiInfo())
                            .select()
                            .apis(RequestHandlerSelectors.basePackage("com.aaa.bbb"))
                            .paths(PathSelectors.any())
                            .build();
    }

    private ApiInfo createApiInfo() {
        return new ApiInfoBuilder().title("AAA RESTful API 说明文档")
                                    .version("1.0")
                                    .build();
    }
}

Application类中,配置如下

@EnableSwagger2
@SpringBootApplication
@EnableAutoConfiguration
public class AAAApplication {
    public static void main(String[] args){
        xxx..
    }
}

controller中

@Api(value = "aaa", description = "这是aaa")
@RestController
@RequestMapping("/aaa")
@CrossOrigin(allowedHeaders="*", allowCredentials="true")
public class AAAController {

    @RequestMapping(value = "/bbb", method = RequestMethod.GET)
    @ResponseBody
    @ApiOperation(value = "bbb", notes = "这是bbb", httpMethod = "GET")
    public void getInstanceList(HttpServletResponse response,
            @ApiParam("ccc ID") @RequestParam(value = "ccc_id") int ccc_id){
        sout。。。。
}
}

直接访问

        http://服务名:8080/swagger-ui.html

即可

### Swagger2 使用指南 Swagger 是一种用于设计、构建和记录 RESTful API 的开源框架。以下是关于如何使用 Swagger2 和其文档生成工具的详细介绍。 #### 工具概述 Swagger 提供了一系列工具来支持开发者的工作流程,其中包括 `swagger-tools`[^1] 这样的库,可以用来验证模式以及实现其他功能扩展。对于离线环境下的开发需求,则有专门的项目如 `SwaggerOfflineDoc` 可供选择[^2]。 #### 配置与集成 为了在应用程序中启用 Swagger2 功能,通常需要完成以下几个方面的设置: - **引入依赖** 如果您正在使用 Maven 构建您的 Java 应用程序,那么可以在项目的 pom.xml 文件里加入如下配置片段以添加 swagger-core 相关依赖项: ```xml <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> ``` - **初始化 Docket Bean** 接下来,在 Spring Boot 中通过创建一个 Configuration 类并定义相应的 bean 来启动 Swagger 支持。 ```java @Configuration public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) .build(); } } ``` #### 页面浏览体验 一旦上述步骤执行完毕之后,当运行起服务端口,默认情况下可以通过浏览器访问 `/swagger-ui.html` 路径查看自动生成的API文档界面[^3]。在这个界面上不仅能够直观看到各个接口及其描述信息外,还允许用户直接在线尝试调用这些接口而无需额外编写客户端代码。 ### Swagger2 文档生成工具推荐 除了官方自带的功能之外,还有许多第三方插件可以帮助更高效地管理和维护 API 文档。比如前面提到过的 `SwaggerOfflineDoc`, 它是一个针对无法联网场景特别优化后的解决方案, 方便内部网络或者无互联网连接环境下继续享受完整的 swagger 特性. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值