当前位置: 首页 > news >正文

进阶SpringBoot之配置 Swagger API 框架信息

Swagger:API 框架

RestFul API 文档在线自动生成工具,API 文档与 API 定义同步更新

Swagger 官网

Maven 仓库

创建 Spring Boot 项目,依赖勾选 Spring Web

pom.xml 导入相关依赖:

springfox-swagger2、springfox-swagger-ui

        <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency>

controller 包下新建 HelloController.java,先让项目跑起来

package com.demo.swagger.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@RequestMapping("/hello")public String hello(){return "hello";}
}

http://localhost:8080/hello 启动成功即可,项目搭建成功

配置 Swagger:

(先把 Spring Boot 的版本降低到 2.5.5,

之前尝试过添加依赖 springfox-boot-starter、springdoc-openapi-starter-webmvc-ui,

配置类换注解 @EnableOpenApi、@EnableWebMvc,

Swagger 依赖到最新版本 3.0.0,一旦写了配置类,通通无效!根本无法启动,一个劲报错)

config 包下 SwaggerConfig.java 开启 Swagger2,@EnableSwagger2

package com.demo.swagger.config;import org.springframework.context.annotation.Configuration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;@Configuration
@EnableSwagger2 //开启Swagger2
public class SwaggerConfig {}

启动,进入 http://localhost:8080/swagger-ui.html

Swagger 给我们提供了一个前端页面

(新版地址换成了 http://localhost:8080/swagger-ui/index.html)

SwaggerConfig.java 配置类:(建议分析源码,点进 Docket 和 ApiInfo 查看)

配置 Swagger 的 Docket 的 bean 实例

配置 Swagger 信息 apiInfo

package com.demo.swagger.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
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.ArrayList;import static springfox.documentation.service.ApiInfo.DEFAULT_CONTACT;@Configuration
@EnableSwagger2 //开启Swagger2
public class SwaggerConfig {//配置Swagger的Docket的bean实例@Beanpublic Docket docket(){return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());}//配置Swagger信息apiInfoprivate ApiInfo apiInfo(){//作者信息//Contact contact = new Contact("name","url","email");return new ApiInfo("Api Documentation","Api Documentation","1.0","urn:tos",DEFAULT_CONTACT,   //contact"Apache 2.0","http://www.apache.org/licenses/LICENSE-2.0",new ArrayList()); //从ApiInfo源码获取,可以任意修改,展示的前端页面就会显示修改后的页面}
}

http://www.mrgr.cn/news/22481.html

相关文章:

  • Java LeetCode每日一题
  • 社群空间站9.9付费入群系统二开源码 易支付版全套搭建教程
  • Robot Operating System——四元数
  • 《化学教学》
  • 分布式调度方案:Elastic-Job
  • 外排序之文件归并排序实现
  • 哈希表的底层实现(1)---C++版
  • 代码随想录第十一天|二叉树的遍历方式
  • AI智能一键换头像单机版
  • 计算机的错误计算(八十七)
  • windows C++-并行编程-PPL任务并行(二)
  • lower_bound与upper_bound的使用方法
  • C语言程序设计——数组(一)
  • axure判断
  • python、C++、rust速度比较
  • RK3568平台(基础篇)GKI开发方式
  • JVM内存模型
  • C语言:刷题日志(2)
  • 代码随想录Day 38|背包问题完结,题目322.零钱兑换、279.完全平方数、139,单词拆分数
  • 两种常用损失函数:nn.CrossEntropyLoss 与 nn.TripletMarginLoss