SpringBoot框架 之 Swagger2

Posted mumuyinxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot框架 之 Swagger2相关的知识,希望对你有一定的参考价值。

集成Swagger2

Swagger2简介

1.随项目自动生成强大RESTful API文档,减少工作量
2.API文档与代码整合在一起,便于同步更新API说明
3.页面测试功能来调试每个RESTful API

1.添加依赖

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

2.创建Swagger2配置类

@Configuration
@EnableSwagger2
public class SwaggerConfig 
        @Bean
        public Docket createRestApi() 
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.itlike"))// 指定扫描包下面的注解
                    .paths(PathSelectors.any())
                    .build();
        
        // 创建api的基本信息
        private ApiInfo apiInfo() 
            return new ApiInfoBuilder()
                    .title("集成Swagger2构建RESTful APIs")
                    .description("集成Swagger2构建RESTful APIs")
                    .termsOfServiceUrl("https://www.baidu.com")
                    .contact("itlike")
                    .version("1.0.0")
                    .build();
        

3.在控制器方法上添加对应api信息

?

@RequestMapping("hero")
public class MyController
    @Autowired
    private HeroService heroService;
    
    @ApiOperation(value="获取英雄信息",notes="根据id来获取英雄详细信息)
    @ApiImplicitParam(name="id",value="用户ID",required=true,dataType="String")
    @RequestMapping("id")
    ResponseBody
    public Hero getHero(@PathVariable("id")Long id,ModelMap modelMap)
        Hero hero=heroService.getHeroById(id);
        modelMap.addAttribute("hero",hero);
        return hero;
    

?

4.启动Spring boot,访问Swagger UI界面

http://localhost/swagger-ui.html#/

常见Api

@Api(value="用户controller",tags="用户操作接口")
    Api 用在类上,说明该类的作用。可以标记一个Controller类做为swagger 文档资源
    
@ApiOperation(value="获取用户信息",notes="注意问题点",httpMethod="GET")
    用在方法上,说明方法的作用,每一个url资源的定义,使用方式
    
@ApiImplicitParams(@ApiImplicitParam(name="id",value="用户id",dataType="Long", paramType = "path"))
    参数说明
    
@ApiIgnore()
    忽略方法

以上是关于SpringBoot框架 之 Swagger2的主要内容,如果未能解决你的问题,请参考以下文章

网红框架SpringBoot2.x之框架简介及环境搭建

SpringBoot 集成FluentMyBatis 框架之集成分页功能

SpringBoot整合SSM三大框架源码剖析之SpringBoot源码剖析

重学SpringBoot系列之日志框架与全局日志管理

java框架之Spring boot一:hello SpringBoot!

java框架之Spring boot一:hello SpringBoot!