Swagger使用示例

Swagger

@Configuration
@EnableSwagger2//开启swagger
public class Swagger2 {
//swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等
  @Bean
  public Docket createRestApi() {
      //配置全局的参数
      ParameterBuilder tokenPar = new ParameterBuilder();
      ParameterBuilder tokenPar1= new ParameterBuilder();
      ParameterBuilder tokenPar2= new ParameterBuilder();
      ParameterBuilder tokenPar3= new ParameterBuilder();
      List<Parameter> pars = new ArrayList<Parameter>();
      tokenPar.name("acctName").description("账户名").defaultValue("").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
      tokenPar1.name("token").description("令牌").defaultValue("").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
      tokenPar2.name("estateId").description("楼盘ID").defaultValue("").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
      tokenPar3.name("employeeId").description("发布人ID").defaultValue("").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
      pars.add(tokenPar.build());
      pars.add(tokenPar1.build());
      pars.add(tokenPar2.build());
      pars.add(tokenPar3.build());
      
      Docket docket = new Docket(DocumentationType.SWAGGER_2)
              .select()
              .apis(RequestHandlerSelectors.basePackage("com.bdcourtyard"))//选择暴露接口的路径
              .paths(PathSelectors.ant("/**"))
              .build()
              .globalOperationParameters(pars)
              .apiInfo(apiInfo());
      return docket;
  }
  //构建 api文档的详细信息函数,注意这里的注解引用的是哪个
  private ApiInfo apiInfo() {
      return new ApiInfoBuilder()
              //页面标题
              .title("CRM 系统 RESTful API")
              //创建人
              .contact(new Contact("Maxg", "", ""))
              //版本号
              .version("1.0")
              //描述
              .description("CRM 系统 RESTful API")
              .build();
  }
    
    //swagger通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息的等等。
    @Api(value="xxxController",description="客户信息管理"):修饰整个类,描述Controller的作用
    @ApiOperation(value="新增客户",notes=""):描述一个类的一个方法,或者说一个接口
    
    @ApiModelProperties(values="客户类型 1:意向 2:无效")//实体类注解
        
    @ApiParam:单个参数描述
    @ApiModel:用对象来接收参数
    @ApiProperty:用对象接收参数时,描述对象的一个字段
    @ApiResponse:HTTP响应其中1个描述
    @ApiResponses:HTTP响应整体描述
    @ApiIgnore:使用该注解忽略这个API
    @ApiError :发生错误返回的信息
    @ApiImplicitParam:一个请求参数
    @ApiImplicitParams:多个请求参数

猜你喜欢

转载自blog.csdn.net/tt_fan/article/details/82755812