java 整合 swagger-ui 步骤

1.在xml 中添加Swagger 相关依赖

bash 复制代码
		<!-- springfox-swagger2 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <!-- springfox-swagger-ui -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>

2.配置Swagger

bash 复制代码
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
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;


@Configuration
@EnableSwagger2
public class SwaggerConfig {
    /*
     * 1.配置生成的文档信息
     * 2.配置生成规则
     * */

    //Docket封装接口文档信息
    @Bean
    public Docket
    getDocket(){

        //创建封面信息对象
        ApiInfoBuilder apiInfoBuilder = new ApiInfoBuilder();
        apiInfoBuilder.title("《xx项目》接口说明")
                .description("此文档详细说明了xxx项目接口规范")
                .version("v 0.0.1")
                .contact(new Contact("","",""));
        ApiInfo apiInfo = apiInfoBuilder.build();

        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo)
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.xxxxxx.controller"))
                .build();

        return docket;
    }

}

3.启动项目,访问 Swagger UI

访问地址:http://localhost:xxx/swagger-ui.html出现下面界面则配置成功

4.更改界面风格

4.1 添加依赖

bash 复制代码
 		<dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.9.6</version>
        </dependency>

4.2 启动项目,并访问

访问地址:http://localhost:xxxx/doc.html

4.3效果

5.Swagger 注解

bash 复制代码
常用的注解
@API类注解,在控制器类添加此注解,可以对控制器类进行功能说明
示例:@Api(value = "提供xx相关接口",tags = "xx管理")

@ApiOperation是用于构建Api文档的注解,它用于标识一个HTTP请求的方法,并描述该方法的作用、请求方式、响应等信息。
@ApiOperation(value = "XXXX接口", httpMethod = "POST", notes = "XXXXXX")

@ApiModelProperty:用于定义API模型的字段,包括字段名、描述、类型等信息。
@ApiModelProperty(value = "xxxx",required = true,example = "xxxx")//required = true 表示该字段为必填字段,example 表示:示例xxx

@ApiIgnore 注解的主要作用是忽略特定的类、方法或方法参数,使其在 Swagger 生成的 API 文档中不显示。
用法:
	@ApiIgnore 注解可以应用于以下三个方面:
	类:当应用于类时,整个类将被忽略,不会在 Swagger 生成的 API 文档中显示。
	方法:当应用于方法时,该方法将被忽略,不会在 Swagger 生成的 API 文档中显示。
	参数:当应用于方法参数时,该参数将被忽略,不会在 Swagger 生成的 API 文档的参数列表中显示。

6.遇见的问题

bash 复制代码
@ApiModelProperty(value = "xxxx",example = "xxxx")
变量上添加了注解 但是不起作用原因:
1.属性名或属性值不符合规范。例如,属性名应该遵循驼峰命名法,且第二个字母不能大写。另外,对于Boolean类型的字段,字段名应该以is开头。(我遇见的是变量命名不规范导致的)
2.在Controller接口层,需要直接返回使用@ApiModel注解的实体类,或者集合-泛型为使用@ApiModel注解的实体类。
相关推荐
临床数据科学和人工智能兴趣组1 小时前
在R语言中, 使用 as.factor() 函数转换数值型变量
开发语言·r语言
andyweike4 小时前
php笔记
开发语言·笔记·php
EatFan5 小时前
Spring Boot 4 落地观察:从 yudao-cloud、matecloud、JPower 看国产脚手架的升级路线与迁移清单
java·spring boot·后端·spring cloud·微服务·后端开发·jdk 21
Maiko Star5 小时前
* LangChain 提示词模板详解:ChatPromptTemplate 的使用与高级特性
java·人工智能·langchain
传奇开心果编程5 小时前
【SwiftUI娓娓道来】第3课:让界面活起来——交互与动画指南
学习·macos·ui·ios·swiftui·swift
Circ.5 小时前
Python 调试 Litellm 本地大模型接口:模型列表与对话接口实操踩坑记录
开发语言·python
zhchyun20086 小时前
【Unity UI 进阶】仿 Element UI 打造企业级 Unity UI 组件库(10)
ui·unity·游戏引擎
传奇开心果编程6 小时前
【Jetpack Compose进阶学与练】第14课:系列收尾复习总结;Compose项目常见坑点汇总;学习路线与后续学习方向
android·学习·ui·kotlin·android jetpack
现任明教教主~7 小时前
Thinkphp站群蜘蛛池SaaS系统YanyvSEO含多用户/积分/六大引擎计费/易支付对接
java·开发语言·spring
Zhou1411367 小时前
SpringSecurity_02_授权与高级功能
开发语言·python