zoukankan      html  css  js  c++  java
  • springboot+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>

    二、写配置类

    @Configuration
    @EnableSwagger2
    public class Swagger2 {
    
        @Bean
        public Docket createRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.forezp.controller"))
                    .paths(PathSelectors.any())
                    .build();
        }
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("springboot利用swagger构建api文档")
                    .description("简单优雅的restfun风格,http://blog.csdn.net/forezp")
                    .termsOfServiceUrl("http://blog.csdn.net/forezp")
                    .version("1.0")
                    .build();
        }
    }
    

     通过@Configuration注解,表明它是一个配置类,@EnableSwagger2开启swagger2。apiINfo()配置一些基本的信息。apis()指定扫描的包会生成文档。

    apis(RequestHandlerSelectors.basePackage("com.forezp.controller")) 此处添加需要添加swagger注解的包,一般是controller包

    三、写生产文档的注解

    swagger通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息的等等。

    • @Api:修饰整个类,描述Controller的作用
    • @ApiOperation:描述一个类的一个方法,或者说一个接口
    • @ApiParam:单个参数描述
    • @ApiModel:用对象来接收参数
    • @ApiProperty:用对象接收参数时,描述对象的一个字段
    • @ApiResponse:HTTP响应其中1个描述
    • @ApiResponses:HTTP响应整体描述
    • @ApiIgnore:使用该注解忽略这个API
    • @ApiError :发生错误返回的信息
    • @ApiParamImplicitL:一个请求参数
    • @ApiParamsImplicit 多个请求参数

    用得较多的为前三个

    @ApiOperation(value = "回显接口")
    @RequestMapping(value = "/getInfo", method = RequestMethod.GET)
    public Map<String,Object> getInfo(
    @ApiParam(value = "库id", required = true) @RequestParam("libId") Long libId,
    @ApiParam(value = "属性id", required = true) @RequestParam("docId") Long docId,
     
  • 相关阅读:
    openssh升级
    Mysql基础学习_Windows版(一)
    centos7 取消Ctrl+Alt+Del重启功能
    linux shell数值比较和字符串比较
    linux 使用中括号进行条件判断
    VXLAN简介(摘抄)
    centos配置NTP服务器
    Centos配置网卡子接口
    组播___IGMP
    组播
  • 原文地址:https://www.cnblogs.com/Andrew520/p/9415388.html
Copyright © 2011-2022 走看看