反射应用之二---Mock工具

本文介绍了一个利用Java反射实现的Mock工具,旨在解决前后端分离开发时接口数据延迟问题。通过简单配置,后端开发能快速为前端提供模拟数据。工具存在局限,无法处理Map类型数据。详细介绍了使用步骤、配置文件、解析过程,并提供了使用示例。
摘要由CSDN通过智能技术生成

前言:写完通用的toString方法后,对Java的反射有了进一步的了解,想到了之前在项目中写的一个数据模拟功能,于是想趁热打铁再改进一下。用了三天时间来规划、编码和测试,目前已完成,下面说明一下这个工具的功能、局限性以及使用说明。
预计周六将源码上传到github进行共享。

一、工具说明

优点:解决了前后端分离开发时,接口数据提供不及时的问题。在前后端开发人员定义完接口及数据结构后,后端开发人员只需简单地配置即可使接口返回前端开发人员期待的随机数据。
缺点:当数据结构中出现Map类型时,无法进行数据模拟。

二、使用步骤说明

  1. 前后端开发人员定义完接口及相应的数据结构。如 用户信息接口,请求url:/user;对应的返回数据类型:com.rambo.domain.Person
  2. 前端开发人员根据数据结构,编写其期望的数据列表,也可以不编写该列表,工具将使用默认的数据进行模拟。如:
    age=23,24,98
    int=2,3,6,8,9,0,232,2452,321
    boolean=0,1
    byte=2,3,4
    double=0.1,3.9
    text=你好,世界,Hello
    image=http://www.baidu.com/image1
    url=http://www.baidu.com

  3. 后端开发人员将数据结构编码,在相应的属性上加上定义的注解,编写配置文件,并编写基本的Controller,将工具的拦截器设置到spring配置文件中。注意将配置文件的编码格式使用notepad++等工具修改为UTF-8

  4. 前端在请求url时,加上mock=mock的参数,即可得到模拟数据。

三、配置文件说明

配置文件包括:
- 1.请求路径和返回的数据类型的匹配;
- 2.各个类型的默认数据列表;
- 3.指定的url和数据类型的数据列表。
如下图所示:
配置

  1. 请求路径和返回的数据类型的匹配

    url
    1:请求path
    2:对应的返回类型
    3:返回类型是否需要List(非必填)
    4:返回类型指定的数据列表(非必填)

  2. 各个类型的默认数据列表
    数据类型
    各个类型的数据列表,使用英文逗号进行分割,各个类型的key是固定的,如下图
    key

  3. 指定的url和数据类型的数据列表
    同上。

四、解析过程说明

本工具,拦截所有的请求,如果参数中有mock,那么就会调用MockAnnotationUtil.parseObject(BeanTypeValueWrapper)方法生成一个url对于的数据类型的实例对象,然后将对象set到request中,由Controller将对象取出并处理后返还给前端。
1. 拦截器

public class MockInterceptor implements HandlerInterceptor {
   
    private static final String MOCK = "mock";
    @Override
    public boolean 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值