基于Spring框架的Swagger流程应用

给Mock系统的正常请求及响应全流程数据
很多时候,如果你能在提供接口文档的同时,把所有接口的模拟请求响应数据也提供给前端。或者有Mock系统,直接将这些模拟数据录入到Mock系统中,那将会提高前端的开发效率,减少许多发生在联调时候才会发生的问题。

通过适当地在代码中加入swagger的注解,可以让你的接口文档描述信息更加详细,如果你把每个出入参数的示例值都配上,那前端就可以直接在接口文档中拿到模拟数据。

#####Controller代码
@Override
@ApiOperation(value = “post请求调用示例”, notes = “invokePost说明”, httpMethod = “POST”)
public FFResponseModel invokePost(@ApiParam(name=“传入对象”,value=“传入json格式”,required=true) @RequestBody @Valid DemoDto input) {
log.info("/testPost is called. input=" + input.toString());
return new FFResponseModel(Errcode.SUCCESS_CODE, Errcode.SUCCESS_MSG);
}

#####接口请求入参对象
@Data
@ApiModel(value=“演示类”,description=“请求参数类” )
public class DemoDto implements Serializable {

private static final long serialVersionUID = 1L;

@NotNull
@ApiModelProperty(value = "defaultStr",example="mockStrValue")
private String strDemo;

@NotNull
@ApiModelProperty(example="1234343523",required = true)
private Long longNum;

@NotNull
@ApiModelProperty(example="111111.111")
private Double doubleNum;

@NotNull
@ApiModelProperty(example="2018-12-04T13:46:56.711Z")
private Date date;

}

#####接口请求出参公共类
@ApiModel(value=“基础返回类”,description=“基础返回类”)
public class FFResponseModel implements Serializable {

private static final long serialVersionUID = -2215304260629038881L;
// 状态码
@ApiModelProperty(example="成功")
private String code;
// 业务提示语
@ApiModelProperty(example="000000")
private String msg;
// 数据对象
private T data;


}

#####接口请求出参实际数据对象
@Data
public class DemoOutputDto {

private String res;

@NotNull
@ApiModelProperty(value = "defaultOutputStr",example="mockOutputStrValue")
private String outputStrDemo;

@NotNull
@ApiModelProperty(example="6666666",required = true)
private Long outputLongNum;

@NotNull
@ApiModelProperty(example="88888.888")
private Double outputDoubleNum;

@NotNull
@ApiModelProperty(example="2018-12-12T11:11:11.111Z")
private Date outputDate;

}
效果图
模拟请求数据报文:
在这里插入图片描述
在这里插入图片描述
模拟返回数据报文:
在这里插入图片描述
总结
其实归根到底,使用Swagger,就是把相关的信息存储在它定义的描述文件里面(yml或json格式),再通过维护这个描述文件可以去更新接口文档,以及生成各端代码。而Springfox-swagger,则可以通过扫描代码去生成这个描述文件,连描述文件都不需要再去维护了。所有的信息,都在代码里面了。代码即接口文档,接口文档即代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值