小白的springboot之路(二)、集成swagger
0-前言
现在的项目开发,基本都是前后端分离,后端专注于API接口开发,都需要编写和维护API接口文档。如果你还在用Word来编写接口文档,那你就out了,这个时候,当当当当~神兵利器swagger隆重出场!Swagger根据项目自动生成API文档,可以帮助我们更好的编写和维护API文档。Spring boot集成swagger那是必须的,好不好用,谁用谁知道。
1-springboot 集成swagger
swagger集成swagger很简单,只需几步即可:
1-1、添加maven依赖:
<!-- 4、集成swagger -->
<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>
1-2、添加swagger配置
package anson.config; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
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; /**
* @description: Swagger配置类
* @author: anson
* @Date: 2019/9/3 22:52
* @version: 1.0
*/ @Configuration
@EnableSwagger2
public class SwaggerConfig
{
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//swagger要扫描的包路径
.apis(RequestHandlerSelectors.basePackage("anson.controller"))
.paths(PathSelectors.any())
.build();
} private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("springboot Swagger 测试")
.description("Springboot 整合Swagger2")
.termsOfServiceUrl("localhost:8090")
.contact(new Contact("Swagger测试","localhost:8090/swagger-ui.html","XXXX@qq.com"))
.version("1.0")
.build();
}
}
1-3、在controller中加入相关swagger注解
package anson.controller; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; /**
* @description: user接口
* @author: anson
* @Date: 2019/9/3 21:33
* @version: 1.0
*/ @Api(value = "用户接口")
@RestController
@RequestMapping("/user")
public class User
{
/*
* @Author anson
* @Description 有参数的方法
* @Date 2019/9/3 23:29
* @Param [id]
* @return java.lang.String
*/
@ApiOperation(value = "获取用户", notes = "根据id查询用户信息")
@ApiImplicitParam(name = "id", value = "用户id", required=true, dataType="String") //API参数
@RequestMapping(value="/getUserById",method= RequestMethod.GET)
public String getUser(String id)
{
return ("Hello anson-" + id);
} /*
* @Author anson
* @Description 无参数的方法
* @Date 2019/9/3 23:29
* @Param []
* @return java.lang.String
*/
@ApiOperation(value = "获取用户", notes = "获取用户信息")
@RequestMapping(value="/getUser",method= RequestMethod.GET)
public String getUser()
{
return "Hello anson!";
}
}
完毕,就这么简单;运行行后输入配置的网址即可看见API文档,在上面可以直接运行API进行测试

源码地址:https://github.com/anson-yang/cloverDemo.git
好,本节结束,下节见
小白的springboot之路(二)、集成swagger的更多相关文章
- 小白的springboot之路(一)、环境搭建、第一个实例
小白的springboot之路(一).环境搭建.第一个实例 0- 前言 Spring boot + spring cloud + vue 的微服务架构技术栈,那简直是爽得不要不要的,怎么爽法,自行度娘 ...
- 小白的springboot之路(十九)、集成swagger(com.spring4all篇)
0-前言 集成swagger,有两种方式: 一种在前面已经介绍过了,直接集成官方的springfox-swagger2的方式,这种方式需要在配置类中配置 第二种方式是这里要介绍的方式,国人写的com. ...
- (九) SpringBoot起飞之路-整合/集成Swagger 2 And 3
兴趣的朋友可以去了解一下其他几篇,你的赞就是对我最大的支持,感谢大家! (一) SpringBoot起飞之路-HelloWorld (二) SpringBoot起飞之路-入门原理分析 (三) Spri ...
- 小白的springboot之路(十二)、集成log4j2日志
0.前言 日志记录对系统来说必不可少,spring boot中常用的日志组件有log4j.logback.log4j2,其中logback是spring boot默认的,已自带:选用log4j2就可以 ...
- 小白的springboot之路(三)、集成mybatis与MySQL
0.前言 mybatis属于半自动的ORM,相比hibernate这种全自动的ORM,兼顾了性能与易用:目前企业项目中,基本都是mybatis的天下:今天就来整合mybatis与MySQL: 1.整合 ...
- 小白的springboot之路(九)、集成MongoDB
0.前言 MongoDB是一个高性能.开源的文档型数据库,是当前nosql数据库中最热门的一种,在企业中广泛应用:虽然前段时间更改了开源协议导致被很多企业舍弃,但主要是对云服务商影响较大,对我们来说其 ...
- 小白的springboot之路(五)、集成druid
0-前言 Druid阿里巴巴开源的一个java数据库连接池,是Java语言中最好的数据库连接池,Druid能够提供强大的监控和扩展功能:集成它能够方便我们对数据库连接进行监控和分析,下面我们来集成它: ...
- 小白的springboot之路(八)、继承Redis以及@Cacheable注解实现Redis缓存
0.前言 在项目中,缓存作为一种高效的提升性能的手段,几乎必不可少,Redis作为其中的佼佼者被广泛应用: 一.spring boot集成Redis 1.添加依赖 <dependency> ...
- 小白的springboot之路(十一)、构建后台RESTfull API
0.前言 开发系统中,前后端分离,后端一般返回RESTfull API,前端调用API构建UI,彼此分离.互相完全独立: 后台API中,我们一般返回结果码.提示信息.数据三部分内容,如图: 我们今天 ...
随机推荐
- API gateway 之 kong 基本操作 (三)
一.演示环境准备 1.nginx配置 [root@nginx conf.d]# pwd /etc/nginx/conf.d [root@nginx conf.d]# ls conf_bak kong_ ...
- android 7.0 pm install 失败问题
这两天,把app内置成系统文件或者系统签名取得系统权限,发现使用pm install path在低版本上可行,在高版本就安装失败 抛出 NullPointException,查看了一下源码,发现对包名 ...
- docker安装mysql,tomcat,并且在tomcat可以访问到mysql
1.uname -an 查看当前系统版本 2.yum -y install docker 下载安装docker 3.service docker start 启动docker服务 4.docker ...
- 在ubuntu中安装minicom时出现device /dev/tty8 is locked解决办法
未正常关闭minicom yesaidu@ywf-ubuntu: ~$ ls /var/lock LCK..ttyS0 subsys yesaidu@ywf-ubuntu: ~$ kill 0 ye ...
- PHP结合SQL语句写一句话木马
一.基础类的一句话--功能仅限于验证漏洞了,实际中太容易被查出出来: 1 <?php @eval($_GET["code"])?> 2 <?php @system ...
- aop的简单使用(代码和配置记录)
Spring aop 简单示例 简单的记录一下spring aop的一个示例 基于两种配置方式: 基于xml配置 基于注解配置 这个例子是模拟对数据库的更改操作添加事物 其实并没有添加,只是简单的输出 ...
- hdu 1325 Is It A Tree? (树、node = edge + 1、入度 <= 1、空树)
Is It A Tree?Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...
- 力扣(LeetCode)验证回文字符串II 个人题解
给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "abca" 输出: ...
- vc在x64体系的一般传参数方式
前篇分析过在objc中函数调用传参的一般方式,本篇分析vc在x64体系中的一般传参方式.手头上因为没有64位的vc编译器,只好用windbg看ms自身的函数是怎么样调用的. 首先看两个再熟悉不过的ap ...
- 学习记录:《C++设计模式——李建忠主讲》6.“状态变化”模式
状态变化模式:在组件构建过程中,某些对象的状态经常面临变化,如何对这些变化进行有效的管理?同时又维持高层模块的稳定.状态变化模式为这一问题提供了一种解决方案. 典型模式:状态模式(State).备忘录 ...