博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Swagger2使用记录
阅读量:7086 次
发布时间:2019-06-28

本文共 3698 字,大约阅读时间需要 12 分钟。

1. Swagger2使用记录

1.1. Bean配置文件

@Configurationpublic 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@EnableSwagger2public class FundApplication {    public static void main(String[] args) {        SpringApplication.run(FundApplication.class, args);    }}

1.2. pom文件配置

io.springfox
springfox-swagger2
2.9.2
io.springfox
springfox-swagger-ui
2.9.2

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. 在页面上会显示如下

751560-20190426095919609-1908158563.png

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
getUserById (@PathVariable(value = "price") BigDecimal price){ DailyPrice r = new DailyPrice(); r.setDailyPriceId(9999L); r.setCurrPrice(price); return ResponseEntity.ok(r); }}

页面显示如下

751560-20190426100023006-2130470175.png

1.5. swagger管理页面访问

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

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:多个请求参数

转载于:https://www.cnblogs.com/sky-chen/p/10793421.html

你可能感兴趣的文章
app测试和web端测试的区别
查看>>
一瓶汽水1元,两瓶汽水可换一瓶,现有20元,最多可喝多少瓶汽水
查看>>
图文教程自动登录expect脚本实例
查看>>
2019 第四周 开发笔记
查看>>
CORBA分布式实现
查看>>
第五天的学习
查看>>
微信小程序小技巧系列《二》show内容展示,上传文件编码问题
查看>>
Rancher Kubernetes Engine(RKE)正式发布:闪电般的Kubernetes安
查看>>
$.get()请求返回一个html页面,获取该页面特定id的元素
查看>>
Linux中的加解密实现
查看>>
Java开发GUI之CardLayout卡片布局
查看>>
将自己本地的项目托管到github上
查看>>
yum仓库搭建
查看>>
this怎么用(基础)
查看>>
安装server2008后,提示“Windows无法验证此文件的数字签名”
查看>>
一个中文空格引起的bug
查看>>
vmware用U盘安装win10
查看>>
CSS3内容溢出详解
查看>>
SEO人员如何做内容链接?
查看>>
SpringCloud源码:Ribbon负载均衡分析
查看>>