SpringBoot整合Swagger2

springboot2swagger2整合 传统的做法,我们应该会为每个系统准备一份接口文档,方便各个团队之间的交流。但是在微服务快速发展的今天,各个系统之间的交流基本都依赖于接口调用,这样就导致接口变得越来越多,开发人员在开发的同时还要维护文档,任务量加重,哀声一片,也可能会出现开发人员未及时维护文档,使得文档与接口信息不一致。 传统做法,在如今是一个不太友好的方式,为了解决上述问题,Swagger出现了。Swagger是一款可以通过注... 阅读详情

io.springfox

springfox-swagger2

2.6.1

io.springfox

springfox-swagger-ui

2.6.1

二、Swagger配置类

其实这个配置类,只要了解具体能配置哪些东西就好了,毕竟这个东西配置一次之后就不用再动了。 特别要注意的是里面配置了api文件也就是controller包的路径,不然生成的文档扫描不到接口。

package cn.saytime;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import springfox.documentation.builders.ApiInfoBuilder;

import springfox.documentation.builders.PathSelectors;

import springfox.documentation.builders.RequestHandlerSelectors;

import springfox.documentation.service.ApiInfo;

import springfox.documentation.spi.DocumentationType;

import springfox.documentation.spring.web.plugins.Docket;

/**

  • @author zh

  • @ClassName cn.saytime.Swgger2

  • @Description

  • @date 2017-07-10 22:12:31

*/

@Configuration

public class Swagger2 {

@Bean

public Docket createRestApi() {

return new Docket(DocumentationType.SWAGGER_2)

.apiInfo(apiInfo())

.select()

.apis(RequestHandlerSelectors.basePackage(“cn.saytime.web”))

.paths(PathSelectors.any())

.build();

}

private ApiInfo apiInfo() {

return new ApiInfoBuilder()

.title(“springboot利用swagger构建api文档”)

.description(“简单优雅的restfun风格,http://blog.csdn.net/saytime”)

.termsOfServiceUrl(“http://blog.csdn.net/saytime”)

.version(“1.0”)

.build();

}

}

Application.class 加上注解@EnableSwagger2 表示开启Swagger

Ps:用@Configuration注解该类,等价于XML中配置beans;用@Bean标注方法等价于XML中配置bean。

package cn.saytime;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import springfox.documentation.swagger2.annotations.EnableSwagger2;

@SpringBootApplication

@EnableSwagger2

public class SpringbootSwagger2Application {

public static void main(String[] args) {

SpringApplication.run(SpringbootSwagger2Application.class, args);

}

}

三、Restful 接口

package cn.saytime.web;

import cn.saytime.bean.JsonResult;

import cn.saytime.bean.User;

import io.swagger.annotations.Api;

import io.swagger.annotations.ApiImplicitParam;

import io.swagger.annotations.ApiImplicitParams;

import io.swagger.annotations.ApiOperation;

import org.springframework.http.ResponseEntity;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestBody;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestMethod;

import org.springframework.web.bind.annotation.RestController;

import springfox.documentation.annotations.ApiIgnore;

import java.util.ArrayList;

import java.util.Collections;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

/**

  • @author zh

  • @ClassName cn.saytime.web.UserController

  • @Description

*/

@RestController

public class UserController {

// 创建线程安全的Map

static Map<Integer, User> users = Collections.synchronizedMap(new HashMap<Integer, User>());

/**

  • 根据ID查询用户

  • @param id

  • @return

*/

@ApiOperation(value=“获取用户详细信息”, notes=“根据url的id来获取用户详细信息”)

@ApiImplicitParam(name = “id”, value = “用户ID”, required = true, dataType = “Integer”, paramType = “path”)

@RequestMapping(value = “user/{id}”, method = RequestMethod.GET)

public ResponseEntity getUserById (@PathVariable(value = “id”) Integer id){

JsonResult r = new JsonResult();

try {

User user = users.get(id);

r.setResult(user);

r.setStatus(“ok”);

} catch (Exception e) {

r.setResult(e.getClass().getName() + “:” + e.getMessage());

r.setStatus(“error”);

e.printStackTrace();

}

return ResponseEntity.ok®;

}

/**

  • 查询用户列表

  • @return

*/

@ApiOperation(value=“获取用户列表”, notes=“获取用户列表”)

@RequestMapping(value = “users”, method = RequestMethod.GET)

public ResponseEntity getUserList (){

JsonResult r = new JsonResult();

try {

List userList = new ArrayList(users.values());

r.setResult(userList);

r.setStatus(“ok”);

} catch (Exception e) {

r.setResult(e.getClass().getName() + “:” + e.getMessage());

r.setStatus(“error”);

e.printStackTrace();

}

return ResponseEntity.ok®;

}

/**

  • 添加用户

  • @param user

  • @return

*/

@ApiOperation(value=“创建用户”, notes=“根据User对象创建用户”)

@ApiImplicitParam(name = “user”, value = “用户详细实体user”, required = true, dataType = “User”)

@RequestMapping(value = “user”, method = RequestMethod.POST)

public ResponseEntity add (@RequestBody User user){

JsonResult r = new JsonResult();

try {

users.put(user.getId(), user);

r.setResult(user.getId());

r.setStatus(“ok”);

} catch (Exception e) {

r.setResult(e.getClass().getName() + “:” + e.getMessage());

r.setStatus(“error”);

e.printStackTrace();

}

return ResponseEntity.ok®;

}

/**

  • 根据id删除用户

  • @param id

  • @return

*/
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

这个月马上就又要过去了,还在找工作的小伙伴要做好准备了,小编整理了大厂java程序员面试涉及到的绝大部分面试题及答案,希望能帮助到大家

在这里插入图片描述

在这里插入图片描述

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
*

img

总结

这个月马上就又要过去了,还在找工作的小伙伴要做好准备了,小编整理了大厂java程序员面试涉及到的绝大部分面试题及答案,希望能帮助到大家

[外链图片转存中…(img-8w3gT3G7-1711825158895)]

[外链图片转存中…(img-8uXclk6K-1711825158895)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

java框架-Spring Boot2.x整合Swagger2 本文主要介绍了java框架相关的swagger2开源工具, 简化API 开发,帮助团队高效地大规模设计和记录 API。本文主要介绍了java框架相关的swagger2,如果有任何疑问欢迎私信或者评论。 阅读详情

相关推荐

SpringBoot整合Swagger2:从入门到精通(亲测可用)

Swagger2是一款基于OpenAPI规范的开源工具集,用于RESTful API的设计、文档化和测试。本文介绍了Swagger2的核心价值、SpringBoot集成步骤和注解使用。通过对比传统文档方式,Swagger2具有实时同步、可视化测试和交互性等优势。集成过程包含依赖配置、SwaggerConfig类编写和UI访问。文章详细解析了控制器层注解如@Api、@ApiOperation的实战应用,以及参数描述注解的使用技巧,帮助开发者快速构建规范的API文档系统。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 2742

Spring Boot整合Swagger2详解

Spring Boot整合Swagger2详解

Charge8的博客 1万+

SpringBootSwagger2整合指南

SpringBoot,作为Spring家族中的最新成员,旨在简化基于Spring的应用开发,特别是新项目的初始搭建以及开发过程。它通过约定优于配置的原则,采用嵌入式web容器来实现自动配置,从而让开发者无需手动进行大量繁琐的配置。在软件开发的过程中,API文档是开发者之间沟通的桥梁。然而,传统的API文档编写往往是劳动密集型工作,容易出错且难以保持更新。随着时间的推移,自动化API文档生成工具应运而生。

weixin_35886636的博客 745

(一)springboot整合swagger2(详细)

1.新建springboot项目 2.引入maven依赖 <!--swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version> 2.9.2</version>

weixin_58993861的博客 1万+

SpringBoot集成Swagger2

本章节主要介绍SpringBoot项目集成Swagger2的一些相关知识,包括集成版本、依赖、集成方式、以及简单的使用。官方提供的SwaggerUI太low,本篇集成了knife4j,在可视化方面有了大大的提示,操作更加人性化。Swagger是一个restful规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的 工具。在后端服务定义好参数格式以及方法,启动服务后网页即可访问接口信息文档 ,并且在网页端可进行接口测试。Swagger让部署管理和使用功能强大的API变得非常简单。 2.代码配置

Oaklkm的博客 5966

SpringBoot 整合Swagger2

SpringBoot 整合Swagger2

小钟不想敲代码 8273

Spring Boot2 系列教程(十七)SpringBoot 整合 Swagger2

后端分离后,维护接口文档基本上是必不可少的工作。 一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了。当然这是一种非常理想的状态,实际开发中却很少遇到这样的情况,接口总是在不断的变化之中,有变化就要去维护,做过的小伙伴都知道这件事有多么头大!还好,有一些工具可以减轻我们的工作量,Swagger2 就是其中之一,至于其他类似功能但是却收费的软...

江南一点雨的专栏 1万+

springboot整合swagger2

Spring Boot 整合 Swagger2 的作用主要体现在以下几个方面:自动生成接口文档:Swagger2 能够根据 Spring Boot 项目中的代码自动生成 RESTful API 文档,减少了手动编写和维护 API 文档的工作量。提高开发效率:通过自动生成的文档,开发人员可以快速了解和测试各个 API 接口的功能和参数,提高了开发效率。减少沟通成本:在前后端分离的开发模式中,Swagger2 提供的在线文档可以减少前后端的沟通成本,帮助新加入项目的同事快速上手业务。

2403_87916407的博客 1696

Spring Boot 实战(12springboot 整合 swagger2

Swagger2 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

扬帆向海的博客 3万+

springboot整合swagger2 (swagger-bootstrap-ui)

1. springboot整个swagger2 步骤: 第一步导入依赖: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <depen

小艾的未解之谜 1万+

SpringBoot整合Swagger2,代码文档一手抓

Swagger是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务以及 集成Swagger自动生成API文档。Swagger 的目标是对REST [API]定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能会有的猜测。

write less , do more 1866

SpringBoot整合Swagger2,再也不用维护接口文档了!

后端分离后,维护接口文档基本上是必不可少的工作。一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了。当然这是一种非常理想的状态,实际开发中却很少遇到这样的情况,接口总是在不断的变化之中,有变化就要去维护,做过的小伙伴都知道这件事有多么头大!还好,有一些工具可以减轻我们的工作量,Swagger2就是其中之一,至于其他类似功能但是却收费的软件,...

江南一点雨的专栏 16万+

swagger2 配置访问路径_Spring Boot2 系列教程(十七)SpringBoot 整合 Swagger2

后端分离后,维护接口文档基本上是必不可少的工作。一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了。当然这是一种非常理想的状态,实际开发中却很少遇到这样的情况,接口总是在不断的变化之中,有变化就要去维护,做过的小伙伴都知道这件事有多么头大!还好,有一些工具可以减轻我们的工作量,Swagger2 就是其中之一,至于其他类似功能但是却...

weixin_29051811的博客 2146

07 Spring Boot整合 Swagger2

1. swagger简介 swagger是一个流行的API开发框架,这个框架以“开放API声明”(OpenAPI Specification,OAS)为基础, 对整个API的开发周期都提供了相应的解决方案,是一个非常庞大的项目(包括设计、编码和测试,几乎支持所有语言)。 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 总体目标是使客户端...

数据知道的博客 2万+
上一篇: SpringBoot原理讲解
下一篇: SpringBoot:如何优雅地进行参数传递、响应数据封装
2301_76238237
博客等级 码龄4年 5829粉丝 · 546原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值