栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot整合swagger

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot整合swagger

引入依赖

   io.springfox
            springfox-swagger2
            2.9.2
        
        
            io.springfox
            springfox-swagger-ui
            2.9.2
        

在微服务中加上配置文件

package com.dian.admin.config;

import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration;
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;

import java.util.HashSet;

@Configuration
@EnableSwagger2
public class SwaggerConfiguration {

   @Bean
   public Docket buildDocket() {
      HashSet strings = new HashSet<>();
      strings.add("application/json");
      Docket docket=new Docket(DocumentationType.SWAGGER_2)
              .apiInfo(buildApiInfo())
              //设置返回数据类型
              .produces(strings)
              //分组名称
              .groupName("1.0")
              .select()
              //这里指定Controller扫描包路径
              .apis(RequestHandlerSelectors.basePackage("com.dian.admin.controller"))
              .paths(PathSelectors.any())
              .build();
      return docket;
   }
   private ApiInfo buildApiInfo() {
      Contact contact = new Contact("点点的swagger文档","","");
      return new ApiInfoBuilder()
              .title("学生系统-平台管理API文档")
              .description("平台管理服务api")
              .contact(contact)
              .version("1.0.0").build();
   }
}

在controller中添加Swagger注解,代码如下所示:

@Api(value = "频道管理", tags = "channel", description = "频道管理")
public class AdChannelController {
    
}

实体类中

package com.dian.admin.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
@TableName("ad_channel")
@ApiModel(value = "AdChannel频道对象",description = "这个是详细的信息标识频道的对象POJO")
public class AdChannel implements Serializable {

    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(notes = "这个是ID是主键",required = true)
    private Integer id;//big

    
    @TableField("name")
    @ApiModelProperty(notes = "频道名称",required = false)
    private String name;

    
    @TableField("description")
    @ApiModelProperty(notes = "频道描述",required = false)
    private String description;

    
    @TableField("is_default")
    @ApiModelProperty(notes = "是否默认频道",required = false)
    private Boolean isDefault;

    @TableField("status")
    private Boolean status;

    
    @TableField("ord")
    private Integer ord;

    
    @TableField("created_time")
    private Date createdTime;

}

 

Swagger常用注解

@Api:修饰整个类,描述Controller的作用

@ApiOperation:修饰类的一个方法 标识 操作信息 接口的定义

@ApiParam:单个参数的描述信息

@ApiModel:描述使用到的对象信息

@ApiModelProperty:描述使用到的对象的属性信息

@ApiResponse:HTTP响应其中1个描述

@ApiResponses:HTTP响应整体描述

@ApiIgnore:使用该注解忽略这个API

@ApiError :发生错误返回的信息

@ApiImplicitParam:一个请求参数

@ApiImplicitParams:多个请求参数的描述信息

@ApiImplicitParam属性:

属性取值作用
paramType查询参数类型
path以地址的形式提交数据
query直接跟参数完成自动映射赋值
body以流的形式提交 仅支持POST
header参数在request headers 里边提交
form以form表单的形式提交 仅支持POST
dataType参数的数据类型 只作为标志说明,并没有实际验证
Long
String
name接收参数名
value接收参数的意义描述
required参数是否必填
true必填
false非必填
defaultValue默认值

启动微服务,访问地址:http://localhost:9001/swagger-ui.html 

官方文档

https://github.com/swagger-api/swagger-core/wiki/Annotations-1.5.X
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/877063.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号