A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1. pom文件中添加jar依赖
<!-- 引入swagger -->
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.7.0</version>
</dependency>
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>2.7.0</version>
</dependency>

2. 添加Swagger2Configuration配置
package com.springboot.test.springboot.swagger;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import java.util.ArrayList;
import java.util.List;

/**
* @Author liufei
* @Date 2018/12/18 18:09
*/
@Configuration
@EnableSwagger2
public class Swagger2Configuration {
   @Bean
   public Docket createRestApi() {
       //添加header参数
       ParameterBuilder ticketPar = new ParameterBuilder();
       List<Parameter> pars = new ArrayList<>();
       ticketPar.name("token").description("user token")
               .modelRef(new ModelRef("string")).parameterType("header")
               .required(false).build(); //header中的ticket参数非必填,传空也可以
       pars.add(ticketPar.build());    //根据每个方法名也知道当前方法在设置什么参数


       return new Docket(DocumentationType.SWAGGER_2)
               .apiInfo(apiInfo())
               .select()
               .apis(RequestHandlerSelectors.basePackage("com.springboot.test.springboot"))
               .paths(PathSelectors.any())
               .build()
               .globalOperationParameters(pars);
   }

   private ApiInfo apiInfo() {
       return new ApiInfoBuilder()
               .title("Spring Boot添加Swagger2组件")
               .description("Spring Boot添加Swagger2组件")
               .version("1.0")
               .build();
   }
}

3. 项目中使用swagger实例
package com.springboot.test.springboot.controller;

import com.springboot.test.springboot.response.AjaxResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
* @Author liufei
* @Date 2018/12/18 10:43
*/
@Api("用户管理")
@RestController
@RequestMapping(value = "user")
public class UserController {

   @ApiOperation("获取所有用户信息")
   @PostMapping(value = "findAll")
   public String findAll(){
       return "test";
   }
}



1 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马