千家信息网

Spring Boot+Swagger_UI怎么配置

发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,本篇内容主要讲解"Spring Boot+Swagger_UI怎么配置",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Spring Boot+Swagger
千家信息网最后更新 2025年12月04日Spring Boot+Swagger_UI怎么配置

本篇内容主要讲解"Spring Boot+Swagger_UI怎么配置",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Spring Boot+Swagger_UI怎么配置"吧!

一:pom.xml 依赖

                                     io.springfox                        springfox-swagger2                        2.8.0                                                        io.springfox                        springfox-swagger-ui                        2.8.0                

二:application.yaml 开关配置

# swaggerswagger:   switch: true

三:SwaggerConfig.java 配置

@Configuration@EnableSwagger2public class SwaggerConfig {        @Value("${swagger.switch}")        private boolean swaggerSwitch;        @Bean        public Docket createRestApi() {                Docket docket = new Docket(DocumentationType.SWAGGER_2);                if (swaggerSwitch) {                        docket.enable(true);                } else {                        docket.enable(false);                }                docket.apiInfo(apiInfo()).select()                                // 加了ApiOperation注解的类,才生成接口文档                                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))                                // 包下的类,才生成接口文档                                .paths(PathSelectors.any()).build().securitySchemes(security());                return docket;        }        private ApiInfo apiInfo() {                return new ApiInfoBuilder().title("Demo").description("接口文档").termsOfServiceUrl("").version("0.1").build();        }        private List security() {                return newArrayList(new ApiKey("token", "token", "header"));        }}

四: 接口配置代码示例

/**          * @Title: list          * @Description: 测试          * @return void    返回类型          * @throws          */        @ApiOperation(value="消息列表查询",notes="消息列表查询")        @ApiImplicitParams({@ApiImplicitParam(name="userId",value="用户ID",required=true,dataType="int")})        @ApiResponses(value= {@ApiResponse(code = 200,message="Sucess",response=MsgPushInfoEntity.class,responseContainer="List")})        @RequestMapping(value="/list",method=RequestMethod.POST)        public List list(@RequestBody MsgPushInfoEntity msg) {                logger.info("===========" + msgPushInfoService.list().size() + "===========");                logger.error("===========" + msgPushInfoService.list().size() + "===========");                return  new ArrayList();        }

五:swagger-ui展示

六:Swagger注解说明

1.@Api

该注解将一个Controller(Class)标注为一个swagger资源(API)。在默认情况下,Swagger-Core只会扫描解析具有

@Api注解的类,而会自动忽略其他类别资源(JAX-RS endpoints,Servlets等等)的注解。该注解包含以下几个重要属性:

tags

API分组标签。具有相同标签的API将会被归并在一组内展示。

value

如果tags没有定义,value将作为Api的tags使用

description

API的详细描述,在1.5.X版本之后不再使用,但实际发现在2.0.0版本中仍然可以使用

2.@ApiOperation

在指定的(路由)路径上,对一个操作或HTTP方法进行描述。具有相同路径的不同操作会被归组为同一个操作对象。

不同的HTTP请求方法及路径组合构成一个唯一操作。此注解的属性有:

value

对操作的简单说明,长度为120个字母,60个汉字。

notes

对操作的详细说明。

httpMethod

HTTP请求的动作名,可选值有:"GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS" and "PATCH"。

code

默认为200,有效值必须符合标准的HTTP Status Code Definitions。

3.@ApiImplicitParams

注解ApiImplicitParam的容器类,以数组方式存储。

@ApiImplicitParam

对API的单一参数进行注解。虽然注解@ApiParam同JAX-RS参数相绑定,但这个@ApiImplicitParam注解可以以统一的方式

定义参数列表,也是在Servelet及非JAX-RS环境下,唯一的方式参数定义方式。注意这个注解@ApiImplicitParam必须被

包含在注解@ApiImplicitParams之内。可以设置以下重要参数属性:

name

参数名称

value

参数的简短描述

required

是否为必传参数

dataType

参数类型,可以为类名,也可以为基本类型(String,int、boolean等)

paramType

参数的传入(请求)类型,可选的值有path, query, body, header or form。

3.@ApiParam

增加对参数的元信息说明。这个注解只能被使用在JAX-RS 1.x/2.x的综合环境下。其主要的属性有:

required

是否为必传参数

value

参数简短说明

4.@ApiResponses

注解@ApiResponse的包装类,数组结构。即使需要使用一个@ApiResponse注解,也需要将@ApiResponse注解包含在

注解@ApiResponses内。

5.@ApiResponse

描述一个操作可能的返回结果。当REST API请求发生时,这个注解可用于描述所有可能的成功与错误码。可以用,也可以不

用这个注解去描述操作的返回类型,但成功操作的返回类型必须在@ApiOperation中定义。如果API具有不同的返回类型,那么需要分别定义返回值,并将返回类型进行关联。但Swagger不支持同一返回码,多种返回类型的注解。注意:这个注解必须被包含在@ApiResponses注解中。

code

HTTP请求返回码。有效值必须符合标准的HTTP Status Code Definitions。

message

更加易于理解的文本消息

response

返回类型信息,必须使用完全限定类名,比如"com.xyz.cc.Person.class"。

responseContainer

如果返回类型为容器类型,可以设置相应的值。有效值为 "List", "Set" or "Map",其他任何无效的值都会被忽略。

Model的注解

对于Model的注解,Swagger提供了两个:@ApiModel及@ApiModelProperty,分别用以描述Model及Model内的属性。

6.@ApiModel

提供对Swagger model额外信息的描述。在标注@ApiOperation注解的操作内,所有的类将自动被内省(introspected),

但利用这个注解可以做一些更加详细的model结构说明。主要属性有:

value

model的别名,默认为类名

description

model的详细描述

7.@ApiModelProperty

对model属性的注解,主要的属性值有:

value

属性简短描述

example

属性的示例值

required

是否为必须值

七:关于TOKER问题

考虑到安全的问题,每次请求API需要对用户进行验证与授权。目前主流的验证方式采用请求头部(request header)传递token,即用户登录之后获取一个token,然后每次都使用这个token去请求API。如果想利用swagger-UI进行API测试,必须显式为每个需要验证的API指定token参数。

到此,相信大家对"Spring Boot+Swagger_UI怎么配置"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

注解 参数 类型 属性 配置 方式 接口 不同 有效 简短 信息 文档 方法 有效值 消息 用户 类名 路径 查询 验证 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 联赢金卡网络技术有限公司 数据库怎么向表添加数据 湛江网络安全实战特训营要怎么学 坦克世界哪个服务器强 服务器不能通过xshell连接 关于网络安全的征文的题目 服务器不显示 超凡先锋获得服务器信息进不去 学习软件开发需要记住的英语单词 计算机三级数据库技术备考 电力系统网络安全攻防演练 软件开发怎样找客户 网络技术对课堂的影响 ad域服务器设置ntp服务器 附加数据库失败 948 数据库分配权限 上海网络安全员考试报名时间 用服务器搭建大淘客cms java数据库相关软件 恺宇网络技术有限公司怎么样 禾适外卖软件开发商 数据库比较y加数字大小 国鑫服务器主板 广州金升阳软件开发面试 超凡先锋获得服务器信息进不去 数据库日期是精确到秒吗 数据库安全威胁有哪些方面 宝应品杰互联网科技有限公司 黑客零就是网络安全吗 龙芯机架服务器
0