SpringBoot 中集成 Swageer2

Posted wbxk

tags:

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

添加Maven依赖

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

添加配置类

package com.erp.server.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.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@EnableSwagger2
@Configuration
public class SwaggerConfig {

    @Bean
    public Docket creatRestApi(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.erp.server.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo(){
        return new ApiInfoBuilder()
                .title("进销存系统")
                .description("这里是进销存系统的后台接口文档")
                //服务条款网址
                .termsOfServiceUrl("http://localhost:8080/swagger-ui.html")
                //联系人
                .contact(new Contact("wangbo","url地址", "email地址"))
                .version("1.0")
                .build();
    }

}

注解使用

@Api:用在请求类上,说明该类的作用

  tags:说明该类的作用,可以在UI界面上看到的内容

  value:该参数没什么意义,在UI界面上也看到,所以不需要配置

@ApiOperation:用在请求的方法上,说明方法的用途、作用

  value:说明方法的用途、作用

  notes:方法的备注说明

@ApiImplicitParams : 用在请求的方法上,表示一组参数说明

@ApiImplicitParam:用在请求的方法上,表示单个参数说明;或者用在@ApiImplicitParams注解中,指定一个请求参数的各个方面

  name:参数名

  dataType:参数类型,默认String

  required:参数是否必传 true | false

  value:参数说明,解释

  defaultValue:参数的默认值

  paramType

         header:请求参数放置于 Header,使用@RequestHeader获取

      query:请求参数放置于请求地址后边,使用@RequestParam获取

      path:请求参数放置于请求地址路径中,使用@PathVariable获取

      body:(不常用)

      form:(不常用)

@ApiResponses:用在请求的方法上,表示一组响应

@ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息

  code:数字,例如400

  message:信息,例如"请求参数没填好"

  response:抛出异常的类   

@ApiModel:用于响应类上,表示一个返回响应数据的信息(一般用在请求参数无法使用@ApiImplicitParam注解进行描述的时候)

@ApiModelProperty:用在属性上,描述响应类的属性

以上是关于SpringBoot 中集成 Swageer2的主要内容,如果未能解决你的问题,请参考以下文章

在SpringBoot中集成单元测试

在SpringBoot中集成单元测试

SpringBoot中集成参数校验

SpringBoot中集成参数校验

springboot中集成memcached

Redis数据类型, 在springboot中集成Redis