swagger

2023-01-03  本文已影响0人  晓晓_1931

依赖

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

建配置类

package com.xx.boot.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
1. swagger配置类
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
   @Bean
   public Docket createRestApi() {
       return new Docket(DocumentationType.SWAGGER_2)
               .apiInfo(apiInfo())
               //是否开启 (true 开启  false隐藏。生产环境建议隐藏)
               //.enable(false)
               .select()
               //扫描的路径包,设置basePackage会将包下的所有被@Api标记类的所有方法作为api
               .apis(RequestHandlerSelectors.basePackage("com.xx.boot.controller"))
               //指定路径处理PathSelectors.any()代表所有的路径
               .paths(PathSelectors.any())
               .build();
   }

   private ApiInfo apiInfo() {
       return new ApiInfoBuilder()
               //设置文档标题(API名称)
               .title("SpringBoot中使用Swagger2接口规范")
               //文档描述
               .description("接口说明")
               //服务条款URL
               .termsOfServiceUrl("http://")
               //版本号
               .version("1.0.0")
               .build();
   }
}

控制器

@RestController
@Api(value = "测试接口", tags = "用户管理相关的接口", description = "用户测试接口")
public class Index {
    
    @RequestMapping("/getUserByid")  
    //方法参数说明,name参数名;value参数说明,
    //备注;dataType参数类型;required 是否必传;defaultValue 默认值
    @ApiImplicitParam(name = "id", value = "用户id",required = true)
    //说明是什么方法(可以理解为方法注释)
    @ApiOperation(value = "获取用户", notes = "根据id获取用户")  
    public String getUserById(int id) {  
        return "ok";
    }
     
}

访问地址: http://localhost:{项目端口}/{项目名}/swagger-ui.html

上一篇下一篇

猜你喜欢

热点阅读