pom依赖加入以下内容

  1. //版本一致做个属性
  2. <properties>
  3. <swagger.version>2.6.1</swagger.version>
  4. </properties>
  5. <dependency>
  6. <groupId>io.springfox</groupId>
  7. <artifactId>springfox-swagger2</artifactId>
  8. <version>${swagger.version}</version>
  9. </dependency>
  10. <dependency>
  11. <groupId>io.springfox</groupId>
  12. <artifactId>springfox-swagger-ui</artifactId>
  13. <version>${swagger.version}</version>
  14. </dependency>

Swagger配置类SwaggerConfig内容

  1. import io.swagger.annotations.Api;
  2. import org.springframework.context.annotation.Bean;
  3. import org.springframework.context.annotation.ComponentScan;
  4. import org.springframework.context.annotation.Configuration;
  5. import springfox.documentation.builders.ApiInfoBuilder;
  6. import springfox.documentation.builders.PathSelectors;
  7. import springfox.documentation.builders.RequestHandlerSelectors;
  8. import springfox.documentation.service.ApiInfo;
  9. import springfox.documentation.spi.DocumentationType;
  10. import springfox.documentation.spring.web.plugins.Docket;
  11. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  12. @Configuration
  13. @EnableSwagger2
  14. @ComponentScan(basePackages = "com.example.demo.controller")//配置扫描的基础包
  15. public class SwaggerConfig {
  16. @Bean //作为bean纳入spring容器
  17. public Docket api() {
  18. return new Docket(DocumentationType.SWAGGER_2)
  19. .apiInfo(apiInfo())
  20. .select()
  21. .paths(PathSelectors.any())
  22. .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
  23. .build();
  24. }
  25. private ApiInfo apiInfo(){
  26. return new ApiInfoBuilder()
  27. .title("API接口文档")
  28. .description("API接口文档,及相关接口的说明")
  29. .version("1.0.0")
  30. .build();
  31. }
  32. }

在每个方法上添加@ApiOperation,如下

  1. @RestController
  2. @RequestMapping("/api/v1/user")
  3. @EnableSwagger2
  4. @Api
  5. public class UserController {
  6. @Autowired
  7. private UserService userService;
  8. BindingResult bindingResult;
  9. @ApiOperation(value = "登陆")
  10. @PostMapping("/login")
  11. public Result login(@RequestBody @Valid User user, BindingResult errors){
  12. List<FieldError> fieldErrors = errors.getFieldErrors();
  13. if(!fieldErrors.isEmpty()){
  14. System.out.println(fieldErrors.get(0).getDefaultMessage());
  15. return Result.resultError(fieldErrors.get(0).getDefaultMessage(),100);
  16. }
  17. return userService.login(user.getUsername(), user.getPassword());
  18. }
  19. }

运行Application,访问地址http://localhost:port/swagger-ui.html即可

界面风格如下



可更换版本号界面风格会发生变化,前段时间看到一个比较好用的版风格如下

如需要用此则只需更换springfox-swagger-ui为

  1. <dependency>
  2. <groupId>com.github.xiaoymin</groupId>
  3. <artifactId>swagger-bootstrap-ui</artifactId>
  4. <version>1.9.6</version>
  5. </dependency>

注意这个的版本访问地址使用http://localhost:port/doc.html#

springboot集成swagger的pom依赖的更多相关文章

  1. 20190909 SpringBoot集成Swagger

    SpringBoot集成Swagger 1. 引入依赖 // SpringBoot compile('org.springframework.boot:spring-boot-starter-web' ...

  2. spring-boot 集成 swagger 问题的解决

    spring-boot 集成 swagger 网上有许多关于 spring boot 集成 swagger 的教程.按照教程去做,发现无法打开接口界面. 项目由 spring mvc 迁移过来,是一个 ...

  3. SpringBoot集成Swagger,Postman,newman,jenkins自动化测试.

    环境:Spring Boot,Swagger,gradle,Postman,newman,jenkins SpringBoot环境搭建. Swagger简介 Swagger 是一款RESTFUL接口的 ...

  4. springboot集成swagger添加消息头(header请求头信息)

    springboot集成swagger上篇文章介绍: https://blog.csdn.net/qiaorui_/article/details/80435488 添加头信息: package co ...

  5. springboot 集成 swagger 自动生成API文档

    Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的前后端分离解决方案. S ...

  6. SpringBoot集成Swagger接口管理工具

    手写Api文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时. 接口返回结果不明确 不能直接在线测试接口,通常需要使用工具,比如postman 接口文档太多,不好管 ...

  7. springboot 集成swagger ui

    springboot 配置swagger ui 1. 添加依赖 <!-- swagger ui --> <dependency> <groupId>io.sprin ...

  8. springboot集成swagger实战(基础版)

    1. 前言说明 本文主要介绍springboot整合swagger的全过程,从开始的swagger到Knife4j的进阶之路:Knife4j是swagger-bootstarp-ui的升级版,包括一些 ...

  9. Springboot集成swagger和knife

    前言 knife4j是在swagger的基本上做做了一次封装,主要体现在ui表现,所有在使用前必须先搭建好swagger2,其实是swagger和knife都可以访问, 至于哪个好用全看个人! swa ...

随机推荐

  1. 7.7、深入解析openstak工作流程

    1.openstack的使用: (1)使用openstack创建的用户默认是default域,角色是user; (2)域-->角色-->用户-->项目 (3)配额在管理员登录后再项目 ...

  2. 超详细的原生JavaScript轮播图(幻灯片)的制作

    本次轮播图的制作主要分为3个部分,分别是:设置定时器自动轮播:点击左右切换按钮轮播:下方点击按钮轮播.具体实现步骤如下: (效果图) html部分代码如下: <div class="s ...

  3. CentOS-配置jar包自启动(SpringBoot)

    在pom.xml文件<plugin>中添加配置后,再打包(开发人员) <plugin>     <groupId>org.springframework.boot& ...

  4. MySQL 卡死的问题

    1. 执行show full processlist观察state和info两列,查看有哪些线程在运行. 2.使用kill命令+对应线程前面id杀死卡死的线程. 其他的方式: -- 查询是否锁表 sh ...

  5. php 基于redis使用令牌桶算法 计数器 漏桶算法 实现流量控制

    通常在高并发和大流量的情况下,一般限流是必须的.为了保证服务器正常的压力.那我们就聊一下几种限流的算法. 计数器计数器是一种最常用的一种方法,在一段时间间隔内,处理请求的数量固定的,超的就不做处理. ...

  6. linux学习之路第八天(组管理和权限管理)

    组管理和权限管理 1.Linux 组基本介绍 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者,所在组,其他组的概念 1)所有者 2)所在组 3)其它组 4)改变 ...

  7. 从零开始给女朋友讲计算机 1 - 从比特、字节、补码到 ASCII、GB2312、Unicode

    起因 在代码 review 的过程中,总是发现有人在数据类型转换(reinterpret_cast).大小端的问题(什么情况下需要考虑大小端,什么情况下不需要考虑)上犯错误,究其原因是没有彻彻底底地搞 ...

  8. python pip install matplotlib安装模块

    python pip install matplotlib安装模块,可附带安装相关的模块 程序运行提示: from . import _imaging as coreImportError: DLL ...

  9. excel vslookup应用举例

    excel vslookup应用举例 =vslookup("第一个需要查找的对象","查找的区域范围","查找的最终目标在区域的第几列",& ...

  10. 两人团队项目-石家庄地铁查询系统(web版)

    大二上学期做过只有两号线的地铁查询系统,但是只能在控制台操作.这一次将线路加到了六条,并且要求web实现,下面简述一下设计思路和具体代码实现: 1.数据库建表 于我自己习惯而言,我写javaweb项目 ...