Swagger-ui接口文档
参考地址
说明
注解
实践
- @Api(value="用户controller",tags={"用户操作接口"})
- @RestController
- public class UserController {
- }
- @Api(value="UserController",tags={"用户接口"})
- @RestController
- public class UserController {
- @ApiOperation(value="获取用户信息",tags={"获取用户信息"},notes="注意")
- @GetMapping("/getUserInfo")
- public User getUserInfo(@ApiParam(name="id",value="用户id",required=true) Long id,@ApiParam(name="username",value="用户名") String username) {
- User user = userService.getUserInfo();
- return user;
- }
- }
- @ApiModel(value="user",description="用户对象")
- @Data
- public class User implements Serializable{
- private static final long serialVersionUID = 1L;
- @ApiModelProperty(value="用户名",name="username",example="xingguo")
- private String username;
- @ApiModelProperty(value="状态",name="state",required=true)
- private Integer state;
- private String password;
- private String nickName;
- private Integer isDeleted;
- @ApiModelProperty(value="ids",hidden=true)
- private String[] ids;
- private List<String> idList;
- }
- @ApiOperation("修改用户信息")
- @PostMapping("/updateUserInfo")
- public int updateUserInfo(@RequestBody @ApiParam(name="用户对象",value="json格式",required=true) User user){
- int num = userService.updateUserInfo(user);
- return num;
- }
- @ApiOperation("查询测试")
- @GetMapping("select")
- //@ApiImplicitParam(name="name",value="用户名",dataType="String", paramType = "query")
- @ApiImplicitParams({
- @ApiImplicitParam(name="name",value="用户名",dataType="string", paramType = "query",example="xingguo"),
- @ApiImplicitParam(name="id",value="用户id",dataType="long", paramType = "query")})
- public void select(){
- }
pom依赖
- <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>
- <!-- 下面这个界面更好看,更好用-->
- <dependency>
- <groupId>com.github.xiaoymin</groupId>
- <artifactId>swagger-bootstrap-ui</artifactId>
- <version>1.9.5</version>
- </dependency>
具体配置
- import com.google.common.base.Predicates;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import springfox.documentation.builders.ApiInfoBuilder;
- import springfox.documentation.builders.ParameterBuilder;
- import springfox.documentation.builders.PathSelectors;
- import springfox.documentation.builders.RequestHandlerSelectors;
- import springfox.documentation.schema.ModelRef;
- import springfox.documentation.service.ApiInfo;
- import springfox.documentation.service.Contact;
- import springfox.documentation.service.Parameter;
- import springfox.documentation.spi.DocumentationType;
- import springfox.documentation.spring.web.plugins.Docket;
- import springfox.documentation.swagger2.annotations.EnableSwagger2;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * swagger-api 配置
- *
- * @author wzm
- * @version 1.0.0
- * @date 2019/6/15
- **/
- @Configuration
- @EnableSwagger2
- @EnableSwaggerBootstrapUI
- public class Swagger2 {
- /**
- * http://localhost:8085/fabric-net/swagger-ui.html
- * http://localhost:8085/fabric-net/doc.html
- */
- private static final String SWAGGER_SCAN_BUSINESS_PACKAGE = "com.thyc.fabric.controller.business";
- private static final String BUSINESS_VERSION = "1.0.0";
- private static final String SWAGGER_SCAN_FABRIC_PACKAGE = "com.thyc.fabric.controller.fabric";
- private static final String FABRIC_VERSION = "1.0.0";
- @Bean
- public Docket createBusinessApi() {
- List<Parameter> pars = new ArrayList<>();
- ParameterBuilder ticketPar1 = new ParameterBuilder();
- ticketPar1.name("Authorization").description("登录令牌")
- .modelRef(new ModelRef("string")).parameterType("header")
- .required(false).build();
- pars.add(ticketPar1.build());
- return new Docket(DocumentationType.SWAGGER_2)
- .globalOperationParameters(pars)
- //分组名不支持中文
- .groupName("business")
- .apiInfo(apiBusinessInfo())
- .pathMapping("/")
- .select()
- // 对所有api进行监控
- .apis(RequestHandlerSelectors.basePackage(SWAGGER_SCAN_BUSINESS_PACKAGE))
- // 错误路径不监控
- .paths(Predicates.not(PathSelectors.regex("/error.*")))
- // 对根下所有路径进行监控
- .paths(PathSelectors.regex("/.*"))
- .build();
- }
- private ApiInfo apiBusinessInfo() {
- Contact contact = new Contact("thyc","thyc.com","thyc@email");
- return new ApiInfoBuilder()
- //设置文档的标题
- .title("Business")
- //设置文档的描述->1.Overview
- .description("业务模块数据管理")
- //设置文档的版本信息-> 1.1 Version information
- .termsOfServiceUrl("http://localhost:8085/fabric-net")
- .contact(contact)
- .version(BUSINESS_VERSION)
- .build();
- }
- //------------------------------------------------------------------------------------------------------------------
- @Bean
- public Docket createFabricApi() {
- List<Parameter> pars = new ArrayList<Parameter>();
- ParameterBuilder ticketPar1 = new ParameterBuilder();
- ticketPar1.name("Authorization").description("登录令牌")
- .modelRef(new ModelRef("string")).parameterType("header")
- .required(false).build();
- pars.add(ticketPar1.build());
- return new Docket(DocumentationType.SWAGGER_2)
- .globalOperationParameters(pars)
- //分组名不支持中文
- .groupName("fabric")
- .apiInfo(apiFabricInfo())
- .pathMapping("/")
- .select()
- // 对所有api进行监控
- .apis(RequestHandlerSelectors.basePackage(SWAGGER_SCAN_FABRIC_PACKAGE))
- // 错误路径不监控
- .paths(Predicates.not(PathSelectors.regex("/error.*")))
- // 对根下所有路径进行监控
- .paths(PathSelectors.regex("/.*"))
- .build();
- }
- private ApiInfo apiFabricInfo() {
- Contact contact = new Contact("thyc","thyc.com","thyc@email");
- return new ApiInfoBuilder()
- //设置文档的标题
- .title("Fabric-Network")
- //设置文档的描述->1.Overview
- .description("超级账本网络信息管理")
- //设置文档的版本信息-> 1.1 Version information
- .termsOfServiceUrl("http://localhost:8085/fabric-net")
- .contact(contact)
- .version(FABRIC_VERSION)
- .build();
- }
- }
Swagger-ui接口文档的更多相关文章
- TP框架整合Swagger UI接口文档
1.下载swagger ui:http://swagger.io/swagger-ui/: 2.在应用目录里新建一个目录xxx:如图 3.解压后把dist目录的所有文件拷贝到新建的目录里面: 4.在新 ...
- asp.net core 使用 swagger 生成接口文档
参考地址:http://www.cnblogs.com/daxnet/p/6181366.html http://www.jianshu.com/p/fa5a9b76f3ed 微软参考文档:https ...
- .net core 使用 swagger 生成接口文档
微软参考文档:https://docs.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger?tabs= ...
- webapi 利用webapiHelp和swagger生成接口文档
webapi 利用webapiHelp和swagger生成接口文档.均依赖xml(需允许项目生成注释xml) webapiHelp:微软技术自带,仅含有模块.方法.请求-相应参数的注释. swagge ...
- Spring Boot 集成 Swagger 构建接口文档
在应用开发过程中经常需要对其他应用或者客户端提供 RESTful API 接口,尤其是在版本快速迭代的开发过程中,修改接口的同时还需要同步修改对应的接口文档,这使我们总是做着重复的工作,并且如果忘记修 ...
- .net WebApi使用swagger 美化接口文档
本文将一步步演示如何用swagger美化WebApi接口文档,为接口文档添加接口名称说明,为请求参数和返回数据结构字段含义添加注释说明 一.为WebApi项目安装Swagger 首先我们新建一个Web ...
- spring-boot-route(五)整合Swagger生成接口文档
目前,大多数公司都采用了前后端分离的开发模式,为了解决前后端人员的沟通问题,后端人员在开发接口的时候会选择使用swagger2来生成对应的接口文档,swagger2提供了强大的页面调试功能,这样可以有 ...
- 用Swagger生成接口文档
Swagger简介 在系统设计的时候,各个应用之间往往是通过接口进行交互的.因此接口的定义在整个团队中就变得尤为重要.我们可以把接口的规范用接口描述语言进行描述,然后Swagger可以根据我们定义的接 ...
- asp.net core使用Swashbuckle.AspNetCore(swagger)生成接口文档
asp.net core中使用Swashbuckle.AspNetCore(swagger)生成接口文档 Swashbuckle.AspNetCore:swagger的asp.net core实现 项 ...
- 基于swagger进行接口文档的编写
0. 前言 近期忙于和各个银行的代收接口联调,根据遇到的问题,对之前编写的接口进行了修改,需求收集和设计接口时想到了方方面面,生产环境下还是会遇到意想不到的问题,好在基本的执行逻辑已确定,因此只是对接 ...
随机推荐
- 【笔记0-开篇】面试官系统精讲Java源码及大厂真题
背景 开始阅读 Java 源码的契机,还是在第一年换工作的时候,被大厂的技术面虐的体无完肤,后来总结大厂的面试套路,发现很喜欢问 Java 底层实现,即 Java 源码,于是我花了半年时间,啃下了 J ...
- hyper-v虚拟机不能访问外网的解决方案
直接说解决方案,将虚拟机的一张网卡改为旧版网络适配器即可.具体原因还不可知. 延申一下,一般应该使用的交换机,是“外部”类型即可.
- windows系统使用sketch设计的设计稿
由sketch设计的文件因为没有windows系统的sketch所以无法使用windows系统的电脑打开,那么怎么办呢?可以借助zeplin, 通过sketch(mac电脑)上传到zeplin账号,然 ...
- fastadmin弹窗效果表单
在项目所对应的js文件中的 table.bootstrapTable({ url: $.fn.bootstrapTable.defaults.extend.index_url, pk: 'id', s ...
- Hdu2099 整除的尾数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2099 Problem Description 一个整数,只知道前几位,不知道末二位,被另一个整数除尽了 ...
- code码说明
https://www.cnblogs.com/wanglaowu/p/6229843.html
- MyBatis的手动映射与模糊查询
一.手动映射 当实体类属性与数据库字段名不同时,无法自动映射,导致查询出空值,这时候可以使用手动映射 在select节点添加resultMap属性与resultMap节点建立关系
- C++——动态内存分配1
9.动态内存分配 new 类型名T(初值列表) 其功能是在程序执行期间申请用于存放T类型对象的内存空间,并依初值列表赋以初值,结果值:成功则T类型的指针,指向新分配的内存:失败则为0(null).若 ...
- linux分区命令parted的用法
parted的适用场景 创建操作大于2T的分区 一般情况下,我们都是选择使用fdisk工具来进行分区,但是目前在实际生产环境中使用的磁盘空间越来越大,呈TiB级别增长:而常用的fdisk这个工具对分区 ...
- 3ds Max File Format (Part 2: The first inner structures; DllDirectory, ClassDirectory3)
Now that we understand the outer structure of the file, it's time to look closer to what's inside. T ...