1. Swagger2使用记录

1.1. Bean配置文件

@Configuration
public class Swagger2 { @Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.beikbank.fund"))
.paths(PathSelectors.any())
.build();
} private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("springboot利用swagger构建api文档")
.description("简单优雅的restfun风格")
// .termsOfServiceUrl("http://www.baidu.com")
.version("1.0")
.build();
}
}
@SpringBootApplication
@EnableSwagger2
public class FundApplication { public static void main(String[] args) {
SpringApplication.run(FundApplication.class, args);
} }

1.2. pom文件配置

 		<!-- swagger2 -->
<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.3. Bean对象属性配置

@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("t_uls_daily_price")
@ApiModel(value="DailyPrice对象", description="每日实时统计价格")
public class DailyPrice extends Model { private static final long serialVersionUID = 1L; @TableId(value = "fund_id", type = IdType.INPUT)
private Long fundId; @ApiModelProperty(value = "开盘价")
private BigDecimal openPrice; @ApiModelProperty(value = "当前价格")
private BigDecimal currPrice; @ApiModelProperty(value = "当前时间")
private Date currTime; @ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
private Date createTime; @ApiModelProperty(value = "更新时间")
private Date updateTime; @ApiModelProperty(value = "状态:0可用,1不可用")
private transient Integer status; /**
* 添加transient会导致逻辑删除模式失效
*/
@ApiModelProperty(value = "是否删除:0-正常 1-软删除")
@TableLogic
@TableField(select = false)
private Integer delFlag; }
  1. 在页面上会显示如下

1.4. controller配置

@RestController
@RequestMapping("/fund/daily-price")
public class DailyPriceController { @ApiOperation(value="获取用户详细信息", notes="根据url的id来获取用户详细信息")
@ApiImplicitParam(name = "price", value = "价格", required = true, dataType = "BigDecimal", paramType = "path")
@RequestMapping(value = "/daily/{price}", method = RequestMethod.GET)
public ResponseEntity<DailyPrice> getUserById (@PathVariable(value = "price") BigDecimal price){
DailyPrice r = new DailyPrice();
r.setDailyPriceId(9999L);
r.setCurrPrice(price);
return ResponseEntity.ok(r);
}
}

页面显示如下

1.5. swagger管理页面访问

  1. 地址http://localhost:8080/swagger-ui.html
  2. 样式如下

1.6. 参数作用记录

@Api:用在请求的类上,表示对类的说明
tags="说明该类的作用,可以在UI界面上看到的注解"
value="该参数没什么意义,在UI界面上也看到,所以不需要配置" @ApiOperation:用在请求的方法上,说明方法的用途、作用
value="说明方法的用途、作用"
notes="方法的备注说明" @ApiImplicitParams:用在请求的方法上,表示一组参数说明 @ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
name:参数名
value:参数的汉字说明、解释
required:参数是否必须传
paramType:参数放在哪个地方
· header --> 请求参数的获取: @ApiResponses:用在请求的方法上,表示一组响应 @ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
code:数字,例如400message:信息,例如"请求参数没填好"response:抛出异常的类 @ApiModel:用于响应类上,表示一个返回响应数据的信息
(这种一般用在post创建的时候,使用@RequestBody这样的场景,
请求参数无法使用@ApiImplicitParam注解进行描述的时候) @ApiModelProperty:用在属性上,描述响应类的属性

概述

@Api:修饰整个类,描述Controller的作用
@ApiOperation:描述一个类的一个方法,或者说一个接口
@ApiParam:单个参数描述
@ApiModel:用对象来接收参数
@ApiProperty:用对象接收参数时,描述对象的一个字段
@ApiResponse:HTTP响应其中1个描述
@ApiResponses:HTTP响应整体描述
@ApiIgnore:使用该注解忽略这个API
@ApiError :发生错误返回的信息
@ApiImplicitParam:一个请求参数
@ApiImplicitParams:多个请求参数

Swagger2使用记录的更多相关文章

  1. swagger2 坑 记录

    swagger2 只认 @RequestMapping 注解! 不认@RestController 注解 @RestController @RequestMapping(value = "/ ...

  2. 03、Swagger2和Springmvc整合详细记录(爬坑记录)

    时间 内容 备注 2018年6月18日 基本使用 spirngmvc整合swagger2 开始之前这个系列博文基本是,在项目的使用中一些模块的内容记录,但是后期逐渐优化,不单单是整合内容. swagg ...

  3. 【记录】Swagger2 注解说明

    Swagger是一个用来管理项目接口的非常好用的第三方插件, 程序员只需要通过在接口代码上设置Swagger注解, 就可以在Swagger UI上进行查看与验证接口. 很大程度上节省了,接口文档的制作 ...

  4. Spring Boot中使用Swagger2构建强大的RESTful API文档

    由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...

  5. 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建

    基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建 前言 最近做回后台开发,重新抓起以前学过的SSM(Spring+Sp ...

  6. Spring MVC 中使用 Swagger2 构建动态 RESTful API

    当多终端(WEB/移动端)需要公用业务逻辑时,一般会构建 RESTful 风格的服务提供给多终端使用. 为了减少与对应终端开发团队频繁沟通成本,刚开始我们会创建一份 RESTful API 文档来记录 ...

  7. spring boot + mybatis + hikaricp + swagger2 + jasypt

    好久没写博客了记录下写过的东西,别到时候又忘了 文章前提:前面开发项目的时候数据池一直用的阿里的druid,这个数据池吧也不能说它不好,为什么现在想改成hikaricp数据池呢,完全是实用项目需要.d ...

  8. 利用Swagger2自动生成对外接口的文档

    一直以来做对外的接口文档都比较原始,基本上都是手写的文档传来传去,最近发现了一个新玩具,可以在接口上省去不少麻烦. swagger是一款方便展示的API文档框架.它可以将接口的类型最全面的展示给对方开 ...

  9. 从.Net到Java学习第五篇——Spring Boot &&Profile &&Swagger2

    从.Net到Java学习系列目录 刚学java不久,我有个疑问,为何用到的各种java开源jar包许多都是阿里巴巴的开源项目,为何几乎很少见百度和腾讯?不是说好的BAT吗? Spring Boot 的 ...

随机推荐

  1. Ubuntu下U盘只读文件系统,图标上锁,提示无法修改

    资料来源于网络,自己总结 问题 Ubuntu下有时候插入U盘,发现不能修改其中的内容.例如不能新建文件和文件夹,不能向U盘中复制文件等,系统提示:只读文件系统. 原因大概是U盘的文件系统信息出错(保存 ...

  2. kbmMWtable for XE5 接近尾声

    为了支持多平台开发的delphi XE5,kbmmwtable 做了非常大的改动. 目前已经可以在ios 和android 上建立和查询数据表了,但是众说周知,在ios 和android 上 使用Li ...

  3. Ansible常用模块命令

    Ansible常用模块命令 一.安装ansible yum install epel-release yum install ansible 二.配置文件配置 vi /etc/ansible/ansi ...

  4. iOS's GCD Note

    [iOS's GCD Note] 1.默认有四种全局concureent queue,如下: 通过以下函数来引用: 2.官方文档上并发队列有3种,实际上main就是serial. 1)serial,用 ...

  5. android studio使用真机测试时点击Debug调试模式时报Error running app:No target device found,点击运行模式却是启动正常的

    原因是adb没检测到设备(包括真机和虚拟机). 在Terminal执行adb devices命令,查看有没有连接到的设备. 如果没有设备,确认虚拟机是否正确打开,真机是否连接打开USB调试并安装驱动. ...

  6. K8s基于DNS的服务发现(转)

    原文地址:https://www.oschina.net/question/2657833_2201246 1.Kubernetes中如何发现服务 ◆   发现Pod提供的服务 首先使用nginx-d ...

  7. HBase的FlushLargeStoresPolicy多例族支持

    众所周知,HBase的一个例族flush时,会导致所有例族都跟着被flush.在HBase-0.94的官方说明(http://hbase.apache.org/0.94/book/number.of. ...

  8. 为iOS项目添加Daily Build

    很多人在说到Daily Build的时候总是喜欢背书.背书就背书吧,总比混迹软件行业连书都没看过的强.很久以前遇到一个奇葩.每次到代码提交测的通知就着急忙慌的催促组员赶紧干活,开始严重加班,晚饭都不吃 ...

  9. ZOJ3704 I am Nexus Master! 2017-04-06 23:36 56人阅读 评论(0) 收藏

    I am Nexus Master! Time Limit: 2 Seconds      Memory Limit: 65536 KB NexusHD.org is a popular PT (Pr ...

  10. How To Make A DFF Read Only Through Form Personalisations? (文档 ID 1289789.1)

    In this Document   Goal   Solution   References APPLIES TO: Oracle Application Object Library - Vers ...