、在pom.xml里添加jar包:

  1. <dependency>
  2. <groupId>io.springfox</groupId>
  3. <artifactId>springfox-swagger-ui</artifactId>
  4. <version>${springfox.version}</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>io.springfox</groupId>
  8. <artifactId>springfox-swagger2</artifactId>
  9. <version>${springfox.version}</version>
  10. </dependency>

在pom.xml里的properties里添加版本

  1. <properties>
  2. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  3. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  4. <java.version>1.8</java.version>
  5. <springfox.version>2.5.0</springfox.version>
  6. </properties>

2、在com/demo下创建swagger文件夹,创建SwaggerConfig文件

  1. package com.demo.swagger;
  2. import org.springframework.context.annotation.Bean;
  3. import org.springframework.context.annotation.Configuration;
  4. import springfox.documentation.builders.ApiInfoBuilder;
  5. import springfox.documentation.builders.PathSelectors;
  6. import springfox.documentation.builders.RequestHandlerSelectors;
  7. import springfox.documentation.service.ApiInfo;
  8. import springfox.documentation.spi.DocumentationType;
  9. import springfox.documentation.spring.web.plugins.Docket;
  10. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  11. /**
  12. * Created by huguoju on 2016/12/29.
  13. */
  14. @Configuration
  15. @EnableSwagger2
  16. public class SwaggerConfig {
  17. /**
  18. * 可以定义多个组,比如本类中定义把test和demo区分开了 (访问页面就可以看到效果了)
  19. *
  20. */
  21. @Bean
  22. public Docket testApi() {
  23. return new Docket(DocumentationType.SWAGGER_2)
  24. .apiInfo(apiInfo())
  25. .select()
  26. .apis(RequestHandlerSelectors.basePackage("com.demo"))
  27. .paths(PathSelectors.any()).build();
  28. }
  29. private ApiInfo apiInfo() {
  30. return new ApiInfoBuilder()
  31. .title("Spring Boot中使用Swagger2构建RESTful APIs")
  32. .description("spring Boot 中构建RESTful API")
  33. .termsOfServiceUrl("")
  34. .contact("huguoju")
  35. .version("1.0")
  36. .build();
  37. }
  38. }

以上就完成了,在页面访问localhost:8080/swagger-ui.html,就看见了,下面主要说说怎么用

1、在com/dem/controller下创建TestController,

  1. package com.demo.controller;
  2. import com.demo.model.User;
  3. import com.demo.service.TestService;
  4. import io.swagger.annotations.Api;
  5. import io.swagger.annotations.ApiOperation;
  6. import io.swagger.annotations.ApiParam;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.http.MediaType;
  9. import org.springframework.stereotype.Controller;
  10. import org.springframework.web.bind.annotation.RequestMapping;
  11. import org.springframework.web.bind.annotation.RequestMethod;
  12. import org.springframework.web.bind.annotation.RequestParam;
  13. /**
  14. * Created by huguoju on 2016/12/28.
  15. */
  16. @Controller
  17. @RequestMapping("test")
  18. @Api(value = "测试类",tags = "测试接口")
  19. public class TestController {
  20. @Autowired
  21. private TestService testService;
  22. @RequestMapping(value = "testData",produces = MediaType.APPLICATION_JSON_UTF8_VALUE,method = {RequestMethod.POST,RequestMethod.GET})
  23. @ApiOperation("测试读写分离")
  24. public String testDateSource(
  25. @ApiParam(name = "userCode",value = "用户id",required = true)
  26. @RequestParam Integer userCode){
  27. User user=testService.selectByUserCode(userCode);
  28. Integer integer=testService.insertUser(user);
  29. return "oo";
  30. }
  31. }

以上就是controller里主要用到的@Api,  @ApiOperation ,@ApiParam

在model里使用@ApiModelProperty("")

  • import com.fasterxml.jackson.annotation.JsonIdentityInfo;
  • import io.swagger.annotations.ApiModel;
  • import io.swagger.annotations.ApiModelProperty;
  • import lombok.Data;
  • import org.springframework.stereotype.Component;
  • import java.util.Date;
  • @Data
  • public class User {
  • @ApiModelProperty("用户id")
  • private Integer userCode;
  • @ApiModelProperty("用户类型")
  • private String userType;
  • @ApiModelProperty("用户名称")
  • private String userName;
  • @ApiModelProperty("用户手机号")
  • private String mobileNumber;
  • }

springboot配置swagger2的更多相关文章

  1. JAVA入门[23]-SpringBoot配置Swagger2

    一.新建SpringBoot站点 1.新建module,然后引入pom依赖: <parent> <groupId>org.springframework.boot</gr ...

  2. SpringBoot配置swagger2(亲测有效,如果没有配置成功,欢迎在下方留言)

    一.导包: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swa ...

  3. SSM非springboot配置swagger2

    前提:maven,ssm,不是springboot项目 1.在maven中添加依赖 <!-- Swagger2 Begin --> <!--springfox的核心jar包--> ...

  4. springboot 配置 swagger2

    1.pom.xml 添加依赖 <!--swagger2 依赖--> <dependency> <groupId>io.springfox</groupId&g ...

  5. IDEA springboot配置

    基于springboot2.1.7 springboot项目创建 springboot热部署 springboot配置swagger2 springboot配置mybatis springboot配置 ...

  6. springboot新增swagger2配置

    转自http://www.cnblogs.com/jtlgb/p/8532433.html SpringBoot整合Swagger2 相信各位在公司写API文档数量应该不少,当然如果你还处在自己一个人 ...

  7. SpringBoot集成Swagger2并配置多个包路径扫描

    1. 简介   随着现在主流的前后端分离模式开发越来越成熟,接口文档的编写和规范是一件非常重要的事.简单的项目来说,对应的controller在一个包路径下,因此在Swagger配置参数时只需要配置一 ...

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

    前后端分离后,维护接口文档基本上是必不可少的工作.一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了.当然这是一种非常理想的状态,实际开发中却很 ...

  9. SpringBoot(七):SpringBoot整合Swagger2

    原文地址:https://blog.csdn.net/saytime/article/details/74937664 手写Api文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文 ...

随机推荐

  1. node 内存管理相关

    为什么在node中要担心node内存管理 使用JavaScript进行前端开发时几乎完全不需要关心内存管理问题,对于前端编程来说,V8限制的内存几乎不会出现用完的情况,v8在node中有着内存的限制( ...

  2. swift UITextField光标聚焦以及光标颜色修改

    光标聚焦闪烁: nick_textField.becomeFirstResponder() 光标颜色修改 nick_textField.tintColor = UIColor.red 备份:http: ...

  3. NYOJ--42--dfs--一笔画问题

    /* Name: NYOJ--42--一笔画问题 Author: shen_渊 Date: 18/04/17 15:22 Description: 这个题用并查集做,更好.在练搜索,试试手 本来用的v ...

  4. NYOJ--20--搜索(dfs)--吝啬的国度

    题意,N座城市有N-1条路,目的是找到哪个城市可以到目的城市 //NYOJ--search--吝啬的国度 #include<iostream> #include<vector> ...

  5. POJ 1182 食物链 -- 解题报告

    食物链 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 70529   Accepted: 20875 Description ...

  6. 使用 Node.js 搭建一个 API 网关

    原文地址:Building an API Gateway using Node.js 外部客户端访问微服务架构中的服务时,服务端会对认证和传输有一些常见的要求.API 网关提供共享层来处理服务协议之间 ...

  7. Weex的原生开发

    weex概念与特性 最形象的理解就是类似react native. Weex几大特点: 1.帮助你构建原生应用 与 Web App.HTML5 App 或 hybrid App 不同,您可以使用 We ...

  8. VBS windows监控

    http://bbs.csdn.net/topics/230078112'/************************************************************** ...

  9. SQL中 LEFT JOIN ,RIGHTJOIN,INNER JOIN 的使用及优先级浅析

    首先了解JOIN的基本概念: join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据. INNER JOIN:在表中存在至少一个匹配时,INNER JOIN 关键字返回行. LEFT JO ...

  10. C++11 中值得关注的几大变化(网摘)

    C++11 中值得关注的几大变化(详解) 原文出处:[陈皓 coolshell] 源文章来自前C++标准委员会的 Danny Kalev 的 The Biggest Changes in C++11 ...