如何构建Spring Boot的Mock环境

如何构建Spring Boot的Mock环境

 

最近项目中需要进行前后端联调的工作比较多,而前后端联调最复杂的部分就是接口格式的定义和Mock数据的生成了,在查阅了一些资料后,找到了一种比较简单快速的方式,在这里分享一下。

1. Swagger:接口文档生成工具

Swagger基本已经成为Spring Boot下标准的接口文档生成工具,相信大部分同学都已经使用过,这里再简单介绍一下Swagger的使用。

1.1 导入Swagger包

Maven项目在pom.xml文件导入Swagger包,如下所示:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.5.0</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.5.0</version>
</dependency>

如果用到Spring Cloud的组件的话,可能会出现Swagger和Spring Cloud组件的兼容性问题,注意选择合适的Swagger版本,这里选用的2.5.0版本的兼容性较好。

1.2 创建Swagger的配置类

@Configuration
@EnableSwagger2
public class Swagger2Config {

  @Bean
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo()).select()
        .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
        .paths(PathSelectors.any())
        .build();
  }

  private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
        .title("project name")
        .description("project description")
        .contact("project owner/developer")
        .version("1.0.0")
        .build();
  }
}

1.3 接口上增加Swagger注解

这部分的资料很多,具体可以搜索Swagger的Java注解,查看更全面的介绍,这里举一个简单的示例:

@ApiOperation(value = "接收来自用户的请求,返回指定用户id具有访问权限的接口")
@ApiImplicitParams({
    @ApiImplicitParam(name = "id", value = "用户id", dataType = "Long", paramType = "path"),
})
@Deprecated
@RequestMapping(value = "/{userId}/access", method = RequestMethod.GET)
public Map<String, Object> getUserAccessById(@PathVariable Long userId) {
    Map<String, Object> map = new HashMap<String, Object>();
    ...
    return map;
}

以上完成了Swagger的配置代码,在启动Spring Boot程序后,可以在http://ip:port/swagger-ui.html查看到Swagger解析到的web页面。

Swagger-UI

2. EasyMock:在线生成Mock数据工具

EasyMock是一款在线生成Mock数据的工具,可以方便的读取Swagger生成的接口文档,并且解析到它内部,并且可以快速生成Mock数据,同时支持编辑Mock数据。具体的使用方法如下:

2.1 保存Swagger的json到本地文件

访问http://ip:port/v2/api-docs,展示的是Swagger对应的json本文信息,把该本文拷贝并保存到本地文件中。

Swagger json本文

2.2 在EasyMock上创建项目

EasyMock的地址:https://easy-mock.com/,登录后创建个人用户就可以使用。新建一个项目,导入上面保存的json文件:

导入Swagger json文件

保存后可以看到接口定义已经被导入在新建的项目中:

项目接口列表

2.3 访问和修改Mock数据

通过上面的Base URL和下面每个接口的URL,就可以直接访问到Mock数据了。EasyMock会根据接口中每个参数的类型,随机的生成字符串,数字或者时间等,示例如下:

Mock接口返回数据

在每个接口上还有一个编辑按钮,可以修改Mock数据的返回值,修改后更新刷新即生效。

3. 总结

Swagger是目前使用Spring Boot开发的后端同学的通用接口文档生成工具了,但在提供给前端时只能看到接口的字段定义,并不能很方便的使用和生成Mock数据。结合EasyMock这个在线生成Mock数据的工具,导入Swagger的接口说明后,可以快速的产生每个接口的Mock数据,对前后端开发的解耦提供了很大的帮助。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值